objective-c - iOS从文本框中解析和int并将其分配给要用于求和的整数值?

标签 objective-c ios parsing

抱歉,我意识到这是一个简单的问题,但对iOS开发和Objective-c来说是新的。

来自C#背景,我将尝试解析文本框中的字符串,如果为true,则将其分配给要用于求和的int,然后将其分配给标签。

在iOS和obj-c中,我在上述方面遇到了麻烦,然后遇到了我需要释放和分配的问题。

任何帮助将不胜感激。

最佳答案

您可以使用 NSScanner 来做到这一点。例如:

NSString *test = @"45";
NSScanner *scanner = [[NSScanner alloc] initWithString:test];
NSInteger integer;
if ([scanner scanInteger:&integer])
{
    NSLog(@"The value is: %i", integer);
}
else
{
    NSLog(@"Didn't parse successfully.");
}

作为另一个答案,您可以在intValue上使用integerValueNSString。关于此方法,需要注意两点:
  • 如果解析失败,则返回0。这使得无法确定解析的值实际上是否为0,或者解析是否刚刚失败。
  • NSScannerintValue都允许空格,因此    45将成功解析。使用NSScanner,可以根据需要通过使用setCharactersToBeSkipped设置为nil来禁用该设置:
    [scanner setCharactersToBeSkipped:nil];
    

  • 您可以从那里开始执行普通的算术运算,例如integer + 20,或对已解析的其他数字求和。

    如果语言环境很重要(请参阅Julien's answer),那么例如,如果我们要确保始终使用美国语言环境,则可以将NSScanner上的setLocale方法与 NSLocale 结合使用:
    NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
    [scanner setLocale: locale];
    


    我需要释放和分配的内容。

    那取决于很多事情。您在使用ARC吗?如果是这样,那么ARC将为您处理发行。您可能想在内存管理上使用read up

    关于objective-c - iOS从文本框中解析和int并将其分配给要用于求和的整数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11817739/

    相关文章:

    regex - 如何访问由递归Perl正则表达式捕获的组?

    iphone - iPhone 应用程序的 Xml 序列化库

    iphone - 从字符串中删除特定字符串和空格后的下一个字符串

    ios - 快速将 float 组写入 wav 音频文件

    ios - 在两个不同的单元格 iOS 上创建标题

    PHP 版本 5.2.14/解析错误 : syntax error, unexpected T_FUNCTION, expecting ')'

    XML 架构 : "use=' required'"with default value

    iphone - UITableView 提交 EditingStyle 而不删除单元格

    objective-c - CGRectGetWidth 与 CGRect.size.width

    ios - 自定义Tableview滑动 Action