我已經實現了它,但沒有轉換爲NSNumber
。這裏是示例代碼。
NSMutableArray *collection = [[NSMutableArray alloc] init];
for (int itemIndex = 0; itemIndex < 5; itemIndex++)
{
CRGQuizInvitation *invitation = [[CRGQuizInvitation alloc] init];
if (itemIndex %2 == 0)
{
invitation.missed = YES;
}
[collection addObject:invitation];
}
NSPredicate *missedInvitationsPredicate = [NSPredicate predicateWithBlock: ^BOOL(CRGQuizInvitation* invitation, NSDictionary *bind){
return invitation.missed == YES;
}];
NSArray *trueValueObjCollection = [collection filteredArrayUsingPredicate: missedInvitationsPredicate];
NSLog(@"%@", trueValueObjCollection);
CRGQuizInvitation
@interface CRGQuizInvitation : NSObject
@property (nonatomic, assign) BOOL missed;
@end
輸出日誌
<TestClass: 0x8f1d450>
<TestClass: 0x8f1e440>
<TestClass: 0x8f1e460>
你說的 「失敗」 是什麼意思?你有例外嗎?如果你這樣做,請將其添加到問題中。 – 2015-01-21 08:49:16
失敗=沒有得到相應的結果。不會拋出異常。 更具體,塊中的代碼(即,返回invitation.missed == YES;)無論我將其與YES還是NO進行比較都返回false。這是奇怪的事 – 2015-01-21 11:47:28