Kri*_*son 2 cocoa-touch objective-c
以下代码:
NSMutableArray *kkk = [NSMutableArray arrayWithCapacity: 20];
[kkk replaceObjectAtIndex:10 withObject: @"cat"];
Run Code Online (Sandbox Code Playgroud)
产生这个
由于未捕获的异常'NSRangeException'终止应用程序,原因:' -
[NSMutableArray replaceObjectAtIndex:withObject:]:索引10超出空数组的边界'第一次抛出时调用堆栈:
arrayWithCapacity:
分配所需的内存,但它不会用对象填充数组.nil
不是填充数组的有效对象.所以如果你需要一个包含空对象的数组,你将不得不做这样的事情,
int size = 20;
NSMutableArray *kkk = [NSMutableArray arrayWithCapacity:size];
for ( int i = 0; i < size; i++ ) {
[kkk addObject:[NSNull null]];
}
Run Code Online (Sandbox Code Playgroud)
现在你可以安全地替换物体,
[kkk replaceObjectAtIndex:10 withObject: @"cat"];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1632 次 |
最近记录: |