Pra*_*nna 0 iphone cocoa objective-c
每次尝试在我的模型对象中设置任何变量的值时,都会收到"发送到实例的无法识别的选择器"错误,并且应用程序崩溃.这些伊娃已经合成,它们不是只读的.我已经检查过设置的值是否正确.
我不确定它是否与IB中的某些连接有关,我已经检查了重新检查.
一点额外的信息:我开始使用早期版本的Xcode进行开发,并使用相同的代码来处理该版本.
这是确切的错误消息:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString setDistance:]: unrecognized selector sent to instance 0x380ce50'
2009-11-10 15:10:58.113 CabMeter[7432:207] Stack: (
29303899,
2457931593,
29685819,
29255286,
29107906,
11415,
3140002,
3149770,
3199319,
3236748,
3170686,
3230561,
3179329,
12452,
3918761,
3933474,
4979284,
4987529,
3990121,
2838067,
2746396,
2773173,
37400273,
29088640,
29084744,
37394317,
37394514,
2777091,
9208,
9062
)
Run Code Online (Sandbox Code Playgroud)
这些伊娃已经合成,它们不是只读的.
我认为你将实例变量与属性混淆.属性是您通常合成和/或只读的属性,它们通常(但不一定)由实例变量支持.
Run Code Online (Sandbox Code Playgroud)*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString setDistance:]: unrecognized selector sent to instance 0x380ce50'
这就是您应该阅读错误消息的原因.
您没有将setDistance:消息发送到模型对象 - 您将其发送到字符串.最有可能的是,您没有保留模型对象,就像您应该拥有的那样,之后不久就会使用相同的地址分配一个字符串.
查看内存管理规则,并查找您没有关注它们的位置.如果您的所有属性都设置正确,请确保您实际使用它们:常见的错误是直接分配给ivar:
myModel = [[[MyModel alloc] init] autorelease]
而不是通过财产:
self.myModel = [[[MyModel alloc] init] autorelease]
要么
[self setMyModel:[[[MyModel alloc] init] autorelease]]
| 归档时间: |
|
| 查看次数: |
5187 次 |
| 最近记录: |