调用[self setValue:forKey:]时app崩溃

时间:2012-07-24 10:53:01

标签: objective-c crash key-value-observing

.h文件

...
@property(nonatomic,readwrite)NSNumber *isConnectionWithServerEstablished;

当我为isConnectionWithServerEstablished setValue时,应用程序崩溃

CRASH POINT:

[self setValue:Number forKey:@"isConnectionWithServerEstablished"];

输出日志

2012-07-24 16:08:26.517 Protocol[1337:11103] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '<__NSMallocBlock__: 0x6b84a70>: An -observeValueForKeyPath:ofObject:change:context: message was received but not handled.
Key path: isConnectionWithServerEstablished
Observed object: <LobbyProtocolModel: 0x6b850b0>
Change: {
   kind = 1;
new = 1;
}
Context: 0x0'

*** First throw call stack:
(0x155e022 0x1b16cd6 0x1506a48 0x15069b9 0xe540ef 0xdc0d91 0xdc0895 0xda633e 0xdc8a82 0xdbcf30 0xdbcedb 0xb606 0xdc0d91 0xdc0895 0xda633e 0xdc16ab 0xe00f19 0xdbcfbf 0xdbcedb 0x5716 0x4d1e 0xe5fa29 0x1529855 0x1529778 0xda419a 0xd5e4 0x24661 0x216d330 0x216ef0c 0x216ecb4 0x216e402 0x9722cb24 0x9722e6fe)
terminate called throwing an exception(lldb) 

1 个答案:

答案 0 :(得分:3)

正在观察您的对象,但该对象未实现-observeValueForKeyPath:ofObject:change:context:。如果您正在进行手动观察,您的观察者需要实施该方法。