var people = [NSManagedobject]()if people == nil {}
但这会导致此错误
要检查核心数据库是否为空,您必须在要检查的实体上进行NSFetchRequest,并检查请求的结果是否为空.“binary operator ‘==’ cannot be applIEd to operands of type [NSManagedobject] and nil”
您可以使用此功能进行检查:
func entityIsEmpty(entity: String) -> Bool{ var appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate var context = NSManagedobjectContext() var request = NSFetchRequest(entityname: entity) var error = NSErrorPointer() var results:NSArray? = self.context.executeFetchRequest(request,error: error) if let res = results { if res.count == 0 { return true } else { return false } } else { println("Error: \(error.deBUGDescription)") return true }}
或简化和更短的解决方案:(使用.countForFetchRequest)
func entityIsEmpty(entity: String) -> Bool{ var appDel:AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate var context = NSManagedobjectContext() var request = NSFetchRequest(entityname: entity) var error = NSErrorPointer() var results:NSArray? = self.context.executeFetchRequest(request,error: error) var count = context.countForFetchRequest(request,error: error) if error != nil { println("Error: \(error.deBUGDescription)") return true } else { if count == 0 { return true } else { return false } }}总结
以上是内存溢出为你收集整理的如何检查核心数据是否为空全部内容,希望文章能够帮你解决如何检查核心数据是否为空所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)