gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:43:52 27 4
gpt4 key购买 nike

抱歉,我意识到这是一个简单的问题,但对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/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com