我试图找到一个子串是否存在于给定的字符串中,并且我在一个块中使用NSRange。 但我收到一个错误,我不知道我哪里出错了。 有人可以解释一下吗?
-(AddressCard *) lookup:(NSString *)tempName{
NSUInteger result = [book indexOfObjectPassingTest:^BOOL(id obj, NSUInteger idx, BOOL *stop) {
NSRange *range = [[obj name] rangeOfString:tempName options:NSCaseInsensitiveSearch];
if (range != NSNotFound) {
return YES;
}
else return NO; //Keep looking
}];
if (result != NSNotFound) {
return book[result];
}
else{
return nil;
}
}
错误信息是:使用不兼容类型'NSRange'(又名'struct _NSRange')
的表达式初始化'NSRange *'(又名'struct _NSRange *')找到答案。 NSrange是struct而不是对象。我会在10分钟后接受答案
答案 0 :(得分:3)
必须是NSRange range
而不是NSRange *range
。 NSRange
不是接口类型,而是struct
NSRange range = [[obj name] rangeOfString:tempName options:NSCaseInsensitiveSearch];