Non*_*one 0 iteration nsenumerator objective-c nsmutablearray
我有这个功能:
void myFunc(NSString* data) {
NSMutableArray *instrs = [[NSMutableArray alloc] initWithCapacity:[data length]];
for (int i=0; i < [data length]; i++) {
unichar c = [data characterAtIndex:i];
[instrs addObject:c];
}
NSEnumerator *e = [instrs objectEnumerator];
id inst;
while (inst = [e nextObject]) {
NSLog("%i\n", inst);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为它失败了[instrs addObject:c].它的目的是遍历NSString的十六进制数.导致此代码失败的原因是什么?
A unichar不是一个对象; 它是一个整数类型.
NSMutableArray 只能持有物品.
如果你真想把它变成一个NSMutableArray,你可以包装在整数值NSNumber的对象:[instrs addObject:[NSNumber numberWithInt:c]];
但是,有什么馅的值到一个数组摆在首位的点?你知道如何通过字符串遍历并获得人物,为什么把它们放到一个数组只是通过他们再次重复?
另请注意:
| 归档时间: |
|
| 查看次数: |
4687 次 |
| 最近记录: |