I had seen a code like this
if ([[dict objectForKey:@"name"] rangeOfString:@“AB”].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@“CD”].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@“EF”].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@“GH”].location != NSNotFound ||
[[dict objectForKey:@"name"] rangeOfString:@“IJ”].location != NSNotFound ||){
// do something
}
Which I changed to:
NSArray *myArray = [NSArray arrayWithObjects:@“AB”,
@"CD", @"EF", @"GH", @"IJ", nil];
for (id object in myArray) {
if ([[dict objectForKey:@"name”] rangeOfString: id].location != NSNotFound){
// do something
break;
}
}
I understand readability is better after changing the code. Does it have any other advantages?
for(String <#stringName#> in myArray)rather, and if you want you can change[dict objectForKey:@"name”]to justdict[@"name"]but thats debatable whether thats more readable (less explicit, but less clutter which i prefer)