iphone انواع - كيفية كتابة المسند BOOL في البيانات الأساسية؟





السي رموز (5)


من دليل برمجة المسند :

يمكنك تحديد واختبار تكافؤ القيم المنطقية كما هو موضح في الأمثلة التالية:

NSPredicate *newPredicate = [NSPredicate predicateWithFormat:@"anAttribute == %@", [NSNumber numberWithBool:aBool]];
NSPredicate *testForTrue = [NSPredicate predicateWithFormat:@"anAttribute == YES"];

يمكنك أيضًا الاطلاع على بنية صيغة تنسيق المسندات .

لدي سمة من نوع BOOL وأريد إجراء بحث عن جميع الكائنات المدارة حيث تكون هذه السمة هي YES .

لسمات السلسلة هو واضح. أنا خلق المسند مثل هذا:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userName = %@", userName];

ولكن كيف أفعل هذا ، إذا كان لدي سمة bool تسمى محددة وأريد أن أصنع مسندًا لهذا؟ هل يمكنني فعل شيء كهذا؟

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"selected = %@", yesNumber];

أو هل أحتاج إلى محددات تنسيق أخرى واجتاز " YES فقط؟




سويفت 4

request.predicate = NSPredicate(format: "boolAttribute == %@", NSNumber(value: true))

سويفت 3

request.predicate = NSPredicate(format: "field = %@", value as CVarArg)



قام Swift 3.0 بتغيير بسيط في هذا:

let predicate = NSPredicate(format: "boolAttribute == %@", NSNumber(booleanLiteral: true))



سويفت 4.0

let predicate = NSPredicate(format: "boolAttribute == %@", NSNumber(value: true))



نحن بحاجة إلى تجاوز الخاصية نفسها على Swift 3 (وهذا أمر جديد في Xcode 8 Beta 4):

override var prefersStatusBarHidden: Bool {  
    return true  
}  

للحصول على مثال آخر أيضًا ، يمكنك الوصول إلى here here

لمعرفة المزيد عن هذا التغيير ولماذا يكون ضروريًا ، راجع إجابة "مات" الرائعة في هذا الشأن .







iphone ios ipad core-data predicate