where ステートメントは、ココア/ココア タッチで述語を使用するようなものです。これは、ディレクトリからの画像ファイル名の配列があり、ベースファイル名を探している例です。indexsOfObjectsWithOptions: メソッドは、特定のテストに合格したインデックスのセットを返します。NSEnumerationConcurrent は、並行キューを使用して、複数のコアが存在する場合にそれを利用します。
NSIndexSet *indexSet=[allImageURLs indexesOfObjectsWithOptions:NSEnumerationConcurrent passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
BOOL match=NO;
NSRange twoXRange=[((NSURL *)obj).absoluteString rangeOfString:@"@2x"];
NSRange iPhoneRange=[((NSURL *)obj).absoluteString rangeOfString:@"~ipad"];
if (twoXRange.location==NSNotFound && iPhoneRange.location==NSNotFound) {
match=YES;
}
return match;
}];
self.imageURLs=[allImageURLs objectsAtIndexes: indexSet];
あなたの特定のケースでは、私は次のことを行います:
NSIndexSet *theSet=[coursesinfo indexesOfObjectsWithOptions:NSEnumerationConcurrent passingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
BOOL match=NO;
if( obj.finalGrade<100 ){
match=YES;
}
return match;
}];
NSArray *courses=[coursesinfo objectsAtIndexes: theSet];
幸運を!
t