你好朋友,我是ios开发的新手。 我想在这里为我的代码添加指定索引的对象。
arrNotificationTime = [NSMutableArray arrayWithCapacity:arrNotificationView.count];
for (int i=0; i<arrNotificationView.count; i++)
{
[arrNotificationTime addObject:[NSNull null]];
}
NSLog(@"Time count == %d",[arrNotificationTime count]);
[arrNotificationTime replaceObjectAtIndex:btnNotificationTime.tag withObject:btnNotificationTime.titleLabel.text];
它完美地工作,但我也想从这个数组中删除另一个或相同的对象,或者打印这个数组对于我的代码不起作用。
NSLog(@"arrNotificationTime == %@",arrNotificationTime);
[arrNotificationTime removeObjectAtIndex:[btn tag]];
当我对数组进行nslog时,它将使应用程序崩溃。 错误报告是。
2014-05-13 17:52:09.973 TOPDesign[1057:11303] arrNotificationTime count = 0
2014-05-13 17:52:09.974 TOPDesign[1057:11303] arrNotificationTime == (
)
2014-05-13 17:52:09.975 TOPDesign[1057:11303] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM removeObjectAtIndex:]: index 1 beyond bounds for empty array'
*** First throw call stack:
(0x15ae012 0x12bbe7e 0x15501c4 0xc6ec 0x12cf705 0x2032c0 0x203258 0x2c4021 0x2c457f 0x2c36e8 0x4c71d3 0x1576afe 0x1576a3d 0x15547c2 0x1553f44 0x1553e1b 0x260f7e3 0x260f668 0x1ffffc 0x2592 0x24c5)
libc++abi.dylib: terminate called throwing an exception
(lldb)
答案 0 :(得分:1)
您无法删除空数组中的任何对象。所以它崩溃了。
你必须像这样使用
[arrNotificationTime count] is total count of your array
假设您有10个项目
你btn标签应该在0到9之间。如果你访问第11项,那么它将崩溃。避免它。你必须像这样使用
if([arrNotificationTime count]>[btn tag]){
[arrNotificationTime removeObjectAtIndex:[btn tag]];
}
答案 1 :(得分:1)
这是为了在数组中的特定索引中添加对象。
[YourArray insertObject:@"" atIndex:0];
这是为了删除特定对象的对象。
[YourArray removeObjectAtIndex:5];
希望此代码对您有用。
答案 2 :(得分:0)
在你的arrNotificationTime
数组中没有对象,你删除了对象。所以应用程序崩溃了。