使用“__kindof NSManagedObject * _Nonnull”类型的表达式初始化“NSEntityDescription *”的不兼容指针类型
Posted
技术标签:
【中文标题】使用“__kindof NSManagedObject * _Nonnull”类型的表达式初始化“NSEntityDescription *”的不兼容指针类型【英文标题】:Incompatible pointer types initializing 'NSEntityDescription *' with an expression of type '__kindof NSManagedObject * _Nonnull' 【发布时间】:2016-04-09 21:13:08 【问题描述】:一切正常,但我收到此通知
并尝试搜索以找到解决方案,但没有运气
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = appDelegate.managedObjectContext ;
NSString *title = [[Picker delegate]pickerView:Picker titleForRow:[Picker selectedRowInComponent:1] forComponent:1];
NSEntityDescription *entity = [NSEntityDescription insertNewObjectForEntityForName:@"History" inManagedObjectContext:context];
【问题讨论】:
【参考方案1】:在这一行:
NSEntityDescription *entity = [NSEntityDescription insertNewObjectForEntityForName:@"History" inManagedObjectContext:context];
您调用的方法返回一个NSManagedObject
的实例。您将其分配给NSEntityDescription
类型的变量。这就是消息告诉您的内容。
【讨论】:
那么如何声明NsEntityDescription 您可以在NSManagedObjectModel
中查找它,但这很少有必要或有用。你想在这里做什么?看起来您想要创建实体的新实例。如果是这样,那么您在该行使用错误的变量类型 except 做的一切都是正确的。该行创建了一个NSManagedObject
,这就是您想要的。以上是关于使用“__kindof NSManagedObject * _Nonnull”类型的表达式初始化“NSEntityDescription *”的不兼容指针类型的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)