我的设备(iPhone iOS 4.3)上有奇怪的NSRange行为。此代码在设备和模拟器上具有不同的行为。
for (Location *location in locationArray)
{
NSRange range1 = [location.name rangeOfString:searchText options:NSCaseInsensitiveSearch];
NSRange range2 = [location.streetAddress rangeOfString:searchText options:NSCaseInsensitiveSearch];
NSRange range3 = [location.postalCode rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (range.length1 > 0 | range2.length > 0 | range3.length > 0)
[self.filteredList addObject:location];
}
如果某些属性具有空值,则该属性range.lenght在设备上等于2,在模拟器中等于零。
我做错了什么吗?
发布于 2011-03-12 04:11:21
The Objective-C Programming Language
从消息返回到nil的值也可能是有效的:
这是针对Mac的,但我认为可以肯定地说,如果message target为nil,则不应依赖返回的struct值。
https://stackoverflow.com/questions/5275201
复制相似问题