I have strange NSRange behavior on my device (iPhone iOS 4.3). This code has a different behavior on device and simulator.
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];
}
If some of properties has nil value range.lenght for that property is equal to 2 on device and zero in simulator.
Am I doing something wrong?