Проверьте пустую строку - PullRequest
1 голос
/ 13 января 2011

У меня есть маленький вопрос. Кажется легким, но у меня это не получается. Все, что я хочу, это проверить, является ли строка пустой или нет. Вот что у меня есть:

if(mystring.text != @""){
    myPath = [myPath stringByAppendingString:mystring.text];
}

Ответы [ 4 ]

8 голосов
/ 13 января 2011

Чтобы сравнить NSString с другим, вы должны использовать isEqualToString.Вы проверяете неравенство, поэтому оно будет выглядеть так:

NSString *text = ...;

if (![text isEqualToString:@""]) {
    ...
}

Но на самом деле, поскольку вы просто проверяете, пуста ли строка, вам нужно что-то вроде

NSString *text = ...;

if ([text length] != 0) {
    ...
}

Обратите внимание, что если text равно nil, код в if заявлении не будет выполнен.Это потому, что [nil length] вернет 0.Подробнее об этом см. «Отправка сообщений на ноль» в документации Apple.


Я подозреваю, что mystring.text - это NSString в вашем случае, так что это

if ([mystring.text length] != 0) {
    myPath = [myPath stringByAppendingString:mystring.text];
}
3 голосов
/ 21 октября 2011

Вы можете попробовать ниже несколько строк кода:

NSString *trimedString = [someString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];


if(trimedstr != [NSNull null]&& ![trimedstr isEqualToString:@""])
{
    if([trimedstr length]>0)
    {
        NSLog(@"%@", trimedstr);
    }
    else
     NSLog(@"%@",@"this is empty string");
}
0 голосов
/ 13 января 2011

Я обычно проверяю, является ли длина> 0 для положительного теста, который также обрабатывает, если ноль.

что-то вроде: if ([someString length] > 0) { // do something with someString }

0 голосов
/ 13 января 2011

Я бы использовал что-то вроде:

if(someString && [someString lenght])
    // string is not empty
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...