我有一个与目标有多对多关系的CoreData对象Player。我试图像这样添加一个目标对象,
Goal *fg =(Goal*)[self.database createGoalObject]; //Custom function
Player* player = (Player*)[NSEntityDescription insertNewObjectForEntityForName:@"Player" inManagedObjectContext:self.database.managedObjectContext];
[player addGoalsObject:fg];
我的应用程序突然出现以下错误:
'NSInvalidArgumentException', reason: '-[__NSCFSet entity]: unrecognized selector sent to instance 0x8d90f00'
调试提示符处的po显示0x8d90f00是一个Goal对象。我的问题是:
答案 0 :(得分:1)
该错误明确指出某些内容试图在entity
上调用__NSCFSet
方法。换句话说,0x8d90f00
处的对象是某种类型的NSSet。
po 0x8d90f00
的输出会误导您,因为NSSet的description
方法将包含其包含的对象的描述,包含在{(
和)}
个字符中。
如果您完成po [0x8d90f00 class]
,则会回复NSSet
或NSMutableSet
。
你的createGoalObject正在返回一个集合。