ObjectiveC Parse Integer из String - PullRequest
       27

ObjectiveC Parse Integer из String

116 голосов
/ 24 августа 2010

Я пытаюсь извлечь строку (которая содержит целое число) из массива, а затем использовать ее как int в функции.Я пытаюсь преобразовать его в int, используя intValue.

Вот код, который я пытался.

  NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];
  [_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];

Я получаю эту ошибку:

передача аргумента 3 из 'loggedIn :::' делает указатель из целого числа без приведения

Что не так?

Ответы [ 5 ]

264 голосов
/ 25 августа 2010

Я действительно не знаю, что было такого сложного в этом вопросе, но мне удалось сделать это следующим образом:

[myStringContainingInt intValue];

Следует отметить, что вы также можете сделать:

myStringContainingInt.intValue;

8 голосов
/ 07 марта 2013

Вы можете просто преобразовать строку следующим образом: [str intValue] или [str integerValue]

integerValue Возвращает значение NSInteger текста получателя.

  • (NSInteger) integerValue Возвращаемое значение Значение NSInteger текста получателя, предполагающее десятичное представление и пропуски пробела в начале строки. Возвращает 0, если получатель не начинает с действительного десятичного текстового представления числа.

для получения дополнительной информации см. здесь

1 голос
/ 24 августа 2010
NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"];

_returnedArguments - это массив NSStrings, который ожидает свойство UITextField text. Не нужно конвертировать.

Синтаксическая ошибка:

[_appDelegate loggedIn:usernameField.text:passwordField.text:(int)[[_returnedArguments objectAtIndex:2] intValue]];

Если ваш _appDelegate имеет свойство passwordField, вы можете установить текст, используя следующую команду

[[_appDelegate passwordField] setText:[_returnedArguments objectAtIndex:2]];
0 голосов
/ 24 августа 2010

Если я вас правильно понял, вам нужно конвертировать NSString в int? Попробуйте этот код:

NSString *stringWithNumberInside = [_returnedArguments objectAtIndex:2];
int number;
sscanf([stringWithNumberInside UTF8String], "%x", &flags);
0 голосов
/ 24 августа 2010

Обычно третий параметр в loggedIn не должен быть целым числом, это должен быть какой-то объект, но мы не можем знать наверняка, потому что вы не назвали параметры в вызове метода.Укажите подпись метода, чтобы мы могли убедиться в этом.Возможно, потребуется NSNumber или что-то.

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