在一个采用Swift2.0编写的IOS APP项目中,需要后台用蓝牙实时获取数据并保存到本地SQLite中进行处理。目前有两个后台线程A和B,A每秒获取一下蓝牙数据,将其保存到数据库中;B定时循环执行遍历数据库,对没有处理的数据进行处理,并更新记录的标志位说明已经处理过。项目采用了CoreData,但每当执行4到5分钟后会报异常造成崩溃。刚接触IOS开发,对多线程数据持久化理解不足,希望有经验的大牛指点一下有什么办法或者比较好的类库能线程安全的支持后台对数据库的频繁读写。
问题出现的代码行是do{ try managedObjectContext.save() }catch{...
异常日志如下:CoreData: error: Serious application error. Exception was caught during Core Data change processing. This is usually a bug within an observer of NSManagedObjectContextObjectsDidChangeNotification. -[__NSCFSet addObject:]: attempt to insert nil with userInfo (null)
2015-12-15 22:14:31.599 HealthApp[1068:150938] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFSet addObject:]: attempt to insert nil'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。