2013-02-13 84 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