抱歉,我意识到这是一个简单的问题,但对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
上使用integerValue
或NSString
。关于此方法,需要注意两点:NSScanner
和intValue
都允许空格,因此 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/