ObjectiveC Parse Integer из String

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что не так?

118
задан Christian Stewart 1 March 2013 в 17:14
поделиться

4 ответа

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

[myStringContainingInt intValue];

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

myStringContainingInt.intValue;

266
ответ дан 24 November 2019 в 01:56
поделиться
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]];
1
ответ дан 24 November 2019 в 01:56
поделиться

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

0
ответ дан 24 November 2019 в 01:56
поделиться

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

NSString *stringWithNumberInside = [_returnedArguments objectAtIndex:2];
int number;
sscanf([stringWithNumberInside UTF8String], "%x", &flags);
-1
ответ дан 24 November 2019 в 01:56
поделиться