2013-02-13 119 views
0

我有一個NSMutableArray。 在這是我的陣列結構:在NSMutableArray中更改對象

{ 
Distance = 0; 
Name = Name1; 
Town = Town1; 
} 
{ 
Distance = 0; 
Name = Name2; 
Town = Town2; 
} 

現在我要替換「距離」。例如,「距離= 15」。

我該怎麼做?

回答

1

OK,讓我們說你最初NSMutableArray被稱爲初始(因爲它包含NSMutableDictionary對象...

要改變的第一個元素的distance值:

[[initial objectAtIndex:0] setValue:[NSNumber numberWithInt:15] 
          forKey:@"Distance"]; 

IF你想執行更正條目在ar射線,只是做這種方式:

for (NSMutableDictionary* entry in initial) 
{ 
    [entry setValue:[NSNumber numberWithInt:15] 
       forKey:@"Distance"]; 
} 
+0

2013年2月13日08:54:42.591的Heurigen-應用[555:11c03] ***終止應用程序由於未捕獲的異常 'NSInternalInconsistencyException',原因是:「 - [ __NSCFDictionary的setObject:forKey:]:突變方法發送到不可變對象」 ***第一擲調用堆棧: (0x1848012 0x1178e7e 0x1847deb 0x180e347 0xb919bf 0x6226 0x17af4b 0x17b01f 0x16380b 0x17419b 0x11092d 0x118c6b0 0x2fbefc0 0x2fb333c 0x2fb3150 0x2f310bc 0x2f32227 0x2f328e2 0x1810afe 0x1810a3d 0x17ee7c2 0x17edf44 0x17ede1b 0x17a27e3 0x17a2668 0xc065c 0x26bd 0x25e5) libC++ abi.dylib:終止調用拋出異常 (lldb) – theandrew 2013-02-13 07:57:29

+0

@theandrew錯誤消息是相當自我解釋器你不是嗎?正如我已經提到的,數組必須包含'NSMutableDictionary'的實例。如果他們只是'NSDictionary'實例(= IMmutable),他們怎麼可能被改變? – 2013-02-13 07:58:42

+0

我該如何解決這個錯誤?對不起,我不是profi-programmer – theandrew 2013-02-13 08:00:05