我有一个NSString,其中我现在存储值2534568
我希望得到第一个数字2,然后是5和
然后3等等.....
感谢提前
答案 0 :(得分:1)
由于到目前为止还没有提供正确答案,即使我没有这样做,我也必须回答这个问题。我不希望你被误导:
NSUInteger len = string.length;
unichar buf[len];
[string getCharacters:buf range:NSMakeRange(0, len)];
此处,buf
将包含您可以迭代的字符。或者,你也可以使用charaterAtIndex:
方法,虽然我不确定它是否明显慢于普通数组索引。 (因此,如果它是瓶颈,应该进行基准测试,不要进行过早优化。)
答案 1 :(得分:0)
从您想要数字的字符串
所以这也有效:
NSString *string=@"2534568";
NSInteger num=[string integerValue];
NSInteger temp=num;
NSMutableArray *digits=[NSMutableArray new];
while(temp >0){
digits[digits.count]=@(temp%10);
temp/=10;
}
注意:如果您希望数字为2,5,3,4顺序,请使用
for(NSNumber *d in [digits reverseObjectEnumerator]){
NSLog(@"%@",d);
}