iOS 'CoreData: Cannot load NSManagedObjectModel. nil is an illegal URL parameter'

coredata报错:

2019-02-21 17:49:37.037027+0800 CoreDataDemo[2371:594155] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'CoreData: Cannot load NSManagedObjectModel.  nil is an illegal URL parameter'

*** First throw call stack:

 

这是因为coredata的路径出错了,找不到.xcdatamodeld文件

看我的源码,.xcdatamodeld文件名字是Model,而我代码中寻找这个文件是写的确是CoreDataDemo,这样就导致到不到这个文件。导致modelUrl为nil,从而导致初始化NSManagedObjectModel的时候闪退。

把代码里的CoreDataDemo改成Model就好了。

 

总结:这个错误很简单就能找出来,只要下断点一下就能找出来了,为啥我要提出来呢,那是因为网上看的好多博客初始化coredata都这样写,如果url出问题,app就闪退了,所以这样写的代码不是很好,在这块要注意初始化NSManagedObjectModel的时候,如果 modelURL有问题的话,是会异常的,所以至少至少也得做个modelURL的判空处理吧。app最忌讳的就是闪退,如果是大公司,一个闪退就是一个大事故,你懂的。。。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值