在
Xcode 6.3 Beta中升级到
Swift 1.2后,我现在执行fetchRequest的所有代码都会导致EXC_BAD_ACCESS
func deleteallEntities(entityName: String) { println(entityName) var error: NSError? = nil let allEntityFetchRequest = NSFetchRequest(entityName: entityName) if let savedobjects = self.managedobjectContext?.executeFetchRequest(allEntityFetchRequest,error: &error) as? [NSManagedobject] { for object in savedobjects { self.managedobjectContext?.deleteObject(object as NSManagedobject) } // save changes persistent store if !(self.managedobjectContext!.save(&error)) { println("ERROR: Error saving model: \(error?.localizedDescription)") } } else { println("ERROR: Fetch error: \(error!.localizedDescription)") } }
另一个例子是:
var error: NSError? = nil if let venueObjects = self.managedobjectContext?.executeFetchRequest(relatedVenuesEntityFetchRequest,error: &error) as? [NSManagedobject] { // do stuff }
在发行说明中,我没有看到Swift 1.1和1.2之间存在任何差异.有什么想法吗? Fetch请求返回[AnyObject] !,但是如果我尝试在特定实体类型上运行这些获取请求,它仍然会发生.
崩溃的确切原因:
objc发布不良访问权限
崩溃发生在“对于savedobjects中的对象”行.调试器没有提供太多信息.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。