我需要将像'00120'这样的字符串转换为NSIntegers的NSArray。
你可以帮忙吗?由于
答案 0 :(得分:6)
尝试使用此代码:
NSString *input = @"00120";
NSMutableArray *integers = [NSMutableArray array];
for (int i = 0; i < input.length; i++) {
unichar c = [input characterAtIndex:i];
if (!isnumber(c))
[integers addObject:[NSNumber numberWithInt:-1]];
else
[integers addObject:[NSNumber numberWithInt:c - '0']]; // convert the ASCII value to it's integer counterpart.
}
当然,这是假设您的所有字符都是字符串中的数字。
编辑:如果你想要一个NSInteger,你需要制作一个C-Array:
NSString *input = @"00120";
NSInteger *integers = calloc(input.length, sizeof(NSInteger));
NSInteger integersLen = input.length;
for (int i = 0; i < input.length; i++)
{
unichar c = [input characterAtIndex:i];
if (!isnumber(c))
integers[i] = -1;
else
integers[i] = c - '0'; // convert the ASCII value to it's integer counterpart
}
答案 1 :(得分:1)
您需要知道的所有内容都可以在NSString和NSMutableArray的课程参考中找到。如果您不熟悉它们,请查看for
循环的教程。
您可能想要使用的值得注意的方法是NSString上的-length
和-characterAtIndex:
,以及NSMutableArray上的-addObject:
/ -insertObject:atIndex:
。
我不是故意要光顾,但我不打算在这里为你写出代码,因为如果你自己在一些帮助下解决问题,你会学到更多。如果您遇到困难并请求更具体的帮助,请随时使用您的代码更新问题。