Я подозреваю, что ваша проблема strWord
на самом деле содержит @"(null)"
, что происходит, если вы передаете nil
токену формата %@
в +stringWithFormat:
.Вместо этого вы хотите проверить, является ли [someArray objectAtIndex:x]
nil
.К счастью для вас, есть ярлык.Просто используйте это вместо:
NSString *strWord = [[someArray objectAtIndex:x] description];
Это идентично [NSString stringWithFormat:@"%@", [someArray objectAtIndex:x]]
, за исключением случаев, когда [someArray objectAtIndex:x]
равно nil
, тогда strWord
будет содержать nil
вместо @"(null)"
.Причина этого заключается в том, что токен формата %@
просто вызывает -description
переданного аргумента, за исключением особых случаев nil
и превращает его в @"(null)"
.Однако вызов -description
непосредственно для объекта пропустит проверку nil
и просто вернет nil
при вызове nil
.