Вы проверяете, равна ли строка нулю, прежде чем создавать с ней NSScanner, поскольку вы, вероятно, создаете ее с помощью
+ (id)scannerWithString:(NSString *)aString
или
- (id)initWithString:(NSString *)aString
Нет способа изменить строку NSScanner, после того, как она была создана, компилятор просто говорит вам, что создавать NSScanner с нулевой строкой бессмысленно.