我无法使用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];
希望有人有同样的问题。
答案 0 :(得分:0)
您是否也按照RHManagedObject wiki页面上的说明使用实体子类?换句话说,你有ClientEntity和Client类吗?
在我看来,您的数据模型中的实体不是客户端,您也没有将该类设置为客户端。
我的猜测是,在你的情况下,Class字段表示' NSManagedObject'。始终确保Name是实体的名称(应该是自动的),并且Class是您的类的名称。如果实体和您的类具有相同的名称,则Class字段可以留空(在这种情况下,它会说“NSManagedObject'”)。
我已经使用RHManagedObject好几年了,它是一个很棒的图书馆,但我从不打扰使用这些实体类。我只是命名我的实体Client并创建一个名为Client的RHManagedObject子类。只有在您要向RHManagedObject子类添加其他属性或方法时,这些实体类才有用。