「名前に検索文字列の一部でも入っていたら検索結果にだしてー」という内容。
元のコードで長ったらしー階段コードがあったので書き直す。こんな感じかなー。
Swiftならもっと簡単に書けるんだけどなー。
NSString* str = @"一二三四五";
NSArray* nameList = @[@"一ノ瀬",@"五十嵐",@"山田",@"二宮",@"佐藤",@"一二"];
NSMutableArray* results = @[].mutableCopy;
for (NSString* name in nameList){
[str enumerateSubstringsInRange:NSMakeRange(0, str.length)
options:NSStringEnumerationByComposedCharacterSequences
usingBlock: ^(NSString* substring, NSRange substringRange, NSRange enclosingRange, BOOL* stop) {
if ([name containsString:substring] && ![results containsObject:name]) {
[results addObject:name];
*stop = YES;
}
}];
}
for (NSString* result in results){
NSLog(@"result = %@",result);
}
結果
result = 一ノ瀬
result = 五十嵐
result = 二宮
result = 一二