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最忌讳的就是闪退,如果是大公司,一个闪退就是一个大事故,你懂的。。。

猜你喜欢

转载自blog.csdn.net/weixin_40200876/article/details/87865556