我有一个 NSManagedObject,我试图用给定的值实例化它。我像这样访问 setter :
object.couchID = (NSString *)[dictObject objectForKey:@"_id"];
...这在我的机器上运行良好,但我的合作伙伴在他的机器上运行时出现此错误:
'-[NSCFString type]: unrecognized selector sent to instance 0x4e465e0'
大约 90% 的 setter (所有格式都相同)在我伙伴的机器上工作,但有 10% 的 setter 因该错误而失败。它们都可以在我的机器上运行。
我们正在运行完全相同的代码(根据 SVN(是的,我知道)),并从同一台服务器获取相同的数据,因此一切似乎都应该正常工作。 p>
我们检查了传递的对象,它们是相同的。注释掉 setter 允许代码进入下一个麻烦的 setter,但是我们当然需要它才能真正工作。我们还应该如何排除故障?提前致谢。
更新 1:为那个解锁了风滚草角标(Badge)……猜猜它太粘了无法触摸?欢迎任何想法或猜测。嘿,您可以获得 50 积分。*
更新 2:喜忧参半的消息是,从源代码管理中 check out 新版本会导致我的机器出现同样的问题,因此 a) 肯定是代码中的问题,b) 我可以更积极地进行故障排除。感谢您到目前为止提出的所有建议,我将重新审视它们。
最佳答案
前几天我在工作中遇到了类似的事情。我怀疑你们中的一个人在应用程序包中有一个陈旧的 .momd 文件,并且它在升级时没有被替换。我怀疑这是 Xcode 4 中的一个错误,尽管我还没有完全验证它。如果您的合作伙伴完全删除了该应用,然后安装了该应用,错误会消失吗?
关于iphone - NSManagedObject 中的 Setter 有选择地失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5785603/