无法使用RHManagedObject库进行更新和删除

时间:2014-07-14 19:10:43

标签: ios iphone objective-c core-data

我无法使用RHManagedObject库更新或删除Entity中的对象。我可以创建一个新对象,用它做一些东西,然后提交。但是当我尝试更新对象时,它会在RHManagedObject

中引发错误
-[NSManagedObject didUpdate]: unrecognized selector sent to instance 0xb8c3610

我不知道我做错了什么。看看:

 Client *clientToInsert =[Client getWithPredicate:[NSPredicate predicateWithFormat:@"f_id=%@", self.clientToEdit.f_id] error:nil];
 clientToInsert.f_person = personName;
 clientToInsert.f_phone = phone;
 NSError *err = [Client commit];

希望有人有同样的问题。

1 个答案:

答案 0 :(得分:0)

您是否也按照RHManagedObject wiki页面上的说明使用实体子类?换句话说,你有ClientEntity和Client类吗?

在我看来,您的数据模型中的实体不是客户端,您也没有将该类设置为客户端。

enter image description here

我的猜测是,在你的情况下,Class字段表示' NSManagedObject'。始终确保Name是实体的名称(应该是自动的),并且Class是您的类的名称。如果实体和您的类具有相同的名称,则Class字段可以留空(在这种情况下,它会说“NSManagedObject'”)。

我已经使用RHManagedObject好几年了,它是一个很棒的图书馆,但我从不打扰使用这些实体类。我只是命名我的实体Client并创建一个名为Client的RHManagedObject子类。只有在您要向RHManagedObject子类添加其他属性或方法时,这些实体类才有用。