如何将[NSString characterAtIndex:]保存到MutableArray

时间:2015-05-19 23:07:48

标签: objective-c nsstring nsmutablearray

我在将数据从一种格式保存到另一种格式时遇到了很多问题。 我有NSString就像" BC01234"我想保存数字" 1"," 2" " 3"和" 4"已经存在的NSMuttableArray中单独存在。我想稍后用它作为数字。 怎么做?

我正在尝试类似的事情:

self.poziomGrzania[0] = [NSNumber numberWithInteger:[dataString characterAtIndex:3]];

但它没有用。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

代码中的含义有些错误:如果你要添加一个空数组,那么(1)不应该通过索引来寻址数组,以及(2)将字符转换为a数字由'0'的值关闭。所以......

NSMutableArray *array = [@[] mutableCopy];
NSString *digits = [@"BC01234" substringFromIndex:2];

for( int i=0 ;i<digits.length; ++i) {
    [array addObject:@([digits characterAtIndex:i] - '0')];
}
NSLog(@"%@", array);

日志:&lt; __ NSArrayM 0xblahblah&gt; ( 0, 1, 2, 3, 4 )

编辑 - 或者,如果数组已经初始化:

NSMutableArray *array = [NSMutableArray arrayWithObjects: @0, @0, @0, @0, nil];
NSString *digits = [string substringFromIndex:2];

for( int i=0 ;i<digits.length; ++i) {
    array[i] = @([digits characterAtIndex:i] - '0');
}
NSLog(@"%@", array);