Правильное выражение будет:
if (country == nil)
, которое может быть сокращено до:
if (!country)
И если вы действительно хотите проверить равенство со строкой @"(null)"
, вам следует использовать метод isEqual:
или isEqualToString:
if ([country isEqualToString:@"(null)"])
Когда вы сравниваете с помощью оператора ==
, вы сравниваете адреса объектов, а не их содержимое:
NSString *foo1 = [NSString stringWithString:@"foo"];
NSString *foo2 = [NSString stringWithString:@"foo"];
NSAssert(foo1 != foo2, @"The addresses are different.");
NSAssert([foo1 isEqual:foo2], @"But the contents are same.");
NSAssert([foo1 isEqualToString:foo2], @"True again, faster than isEqual:.");