ObjectiveC从string中parsing整数

我试图从数组中提取一个string(其中包含一个整数),然后将其用作一个函数中的int。 我想使用intValue将其转换为一个int。

这是我一直在尝试的代码。

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

我得到这个错误:

通过“loggedIn :::”的参数3使得来自整数的指针没有转换

怎么了?

  • 从文本JavaScript中去除HTML
  • c - 将混合大小写string转换为全部小写字母
  • 如何检查一个字是否包含在使用PHP的另一个string中?
  • 如何从c#中的string中删除“\ r \ n”? 我可以使用regEx吗?
  • 用两个字的string大写两个单词的首字母
  • 为什么我得到string不命名types错误?
  • 正则expression式来获得Javascript中两个string之间的string
  • Pythonstring和整数串联
  • 5 Solutions collect form web for “ObjectiveC从string中parsing整数”

    我真的不知道这个问题有多难,但我设法这样做:

    [myStringContainingInt intValue];

    应该指出的是,你也可以这样做:

    myStringContainingInt.intValue;

    你可以像这样转换string[str intValue]或[str integerValue]

    integerValue返回接收者文本的NSInteger值。

    • (NSInteger)integerValue返回值接收方文本的NSInteger值(假设为十进制表示并跳过string开头的空格)。 如果接收方没有以数字的有效小数文本表示开始,则返回0。

    更多信息请参考这里

     NSArray *_returnedArguments = [serverOutput componentsSeparatedByString:@":"]; 

    _returnedArgumentsUITextField text属性期望的NSStrings的数组。 无需转换。

    语法错误:

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

    如果您的_appDelegate具有passwordField属性,则可以使用以下设置文本

     [[_appDelegate passwordField] setText:[_returnedArguments objectAtIndex:2]]; 

    基本上, loggedIn的第三个参数不应该是一个整数,它应该是某种types的对象,但我们无法确定,因为您没有在方法调用中指定参数。 提供方法签名,以便我们可以确定地看到。 也许它需要一个NSNumber或什么的。

    如果我正确理解你,你需要将你的NSString转换为int ? 试试这个和平的代码:

     NSString *stringWithNumberInside = [_returnedArguments objectAtIndex:2]; int number; sscanf([stringWithNumberInside UTF8String], "%x", &flags);