2014-05-13 62 views
-1

你好朋友我是ios開發新手。 我想在這裏爲我的代碼在指定的索引添加對象。如何在特定索引處添加對象並從NSMutableArray中移除另一個對象?

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) 
+1

從Nslog中,你的'array'看起來是空的,而你試圖''移除'你的數組中'不存在'的那個對象。 –

+0

謝謝@ChinttuRoxeNRamani現在我明白了這個問題,並感謝您與我和其他人分享知識。 –

+0

@JAYRAPARKA檢查此鏈接以獲取更多信息https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/doc/uid/20000138 -BABDAJBB –

回答

1

您不能刪除空數組中的任何對象。所以它崩潰。

你必須使用類似這樣的

[arrNotificationTime count] is total count of your array 

假設你有10個項目

你BTN標籤應到9中0,如果你訪問的第11項,然後它會崩潰。避免它。你必須使用類似這樣的

if([arrNotificationTime count]>[btn tag]){ 


    [arrNotificationTime removeObjectAtIndex:[btn tag]]; 


} 
+0

謝謝你給予一點解釋.. –

+0

請你給我多一些解釋。 –

+0

答覆已更新 –

0

在你arrNotificationTime數組沒有對象,你刪除object.so應用的崩潰。

1

這是爲了在數組中的特定索引中添加對象。

[YourArray insertObject:@"" atIndex:0]; 

這是爲了刪除特定對象的對象。

[YourArray removeObjectAtIndex:5]; 

希望這段代碼對您有用。

相關問題