Как сравнить размер строки в Objective-C? - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть NSString в Objective-C, для которого я хочу найти размер, а затем сравнить его с некоторым числом;однако, я не уверен, каков правильный способ сделать это?

То, что у меня есть, - это свойство, называемое display, которое является UILabel *, и что я думаю сделать, этоследующее:

NSUInteger size = [self.display.text length];

Однако теперь я хочу сравнить этот размер с 0.Но я не уверен, как правильно это сделать?Я думал сделать следующее, но по какой-то причине это кажется неправильным:

if(size == 1) { doSomething};

Любая помощь?Спасибо

Ответы [ 2 ]

1 голос
/ 02 февраля 2012

Да, это правильный способ сделать это. Если вы хотите проверить, существует ли строка, длина которой больше 0, то есть не просто @"", сравните ее с нулем, например

NSUInteger size = [self.display.text length];
if(size>0) {
    //do something 
};
0 голосов
/ 02 февраля 2012

Вы можете просто использовать -[NSString length]. Это просто возвращает количество символов в строке. NSString абстрагирует кодировку своего базового буфера, но length должно отнять это у вас! Это отличается от std::string.size() или strlen, который будет возвращать количество байтов, независимо от кодировки.

Таким образом, вы можете написать 0 == str.length, чтобы определить, является ли строка пустой, или 1 == str.length, чтобы определить, является ли она одним символом (кодировка безопасна).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...