Первый подход действителен, но не работает, если в вашей строке есть пробелы (@" "
). Поэтому вы должны очистить эти пробелы перед тестированием.
Этот код очищает все пробелы с обеих сторон строки:
[stringObject stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ];
Хорошая идея - создать один макрос, так что вам не нужно вводить эту строку монстра:
#define allTrim( object ) [object stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ]
Теперь вы можете использовать:
NSString *emptyString = @" ";
if ( [allTrim( emptyString ) length] == 0 ) NSLog(@"Is empty!");