0
我声明了一个变量来限制筛选NSDictionary的结果数量。有没有其他方法可以避免额外的变量?使用NSDictionary keysOfEntriesPassingTest限制结果数量:
我的代码:
//Pick one part from each item
__block int partsCounter = 0;
NSSet *itemsParts = [self.deckDictionary keysOfEntriesPassingTest:^BOOL(id key, id obj, BOOL *stop) {
//filter with itemRef value
CollectiblePart* part = (CollectiblePart*)obj;
if([candidatesSet containsObject:[NSNumber numberWithInt: part.itemRef]]){
if(partsCounter < quantity)
{
partsCounter++;
return YES;
}else{
//stop the filtering
return (*stop = NO);
}
}else{
return NO;
}
}];
添加自己的类别方法' - [NSDictionary(KZAdditions)kz_firstKeys:ofEntriesPassingTest:]''可能会有点滑稽,它会在内部处理迄今为止已通过测试的条目数。 –
是的,我认为是。至少在类别中我可以隐藏这个混乱。 –