我只是试图通过一个名为“id”的字符串类型的属性访问核心数据中的记录。下面一直抱怨“无法分析格式字符串”id==8df3f2c6741b47c8864d1052c36e2c4d“。我怎样才能解决这个问题?
private func getEntity(id: String) -> NSManagedObject? { var myEntity: NSManagedObject? let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "MyEntity") fetchRequest.predicate = NSPredicate(format: "id = \(id)") do { var tempArray = try getCurrentManagedContext().fetch(fetchRequest) myEntity = tempArray.count > 0 ? tempArray[0] : nil } catch let error as NSError { print("get failed ... \(error) ... \(error.userInfo)") } return myEntity }
它是一个格式字符串。而不是
NSPredicate(format: "id = \(id)")
写
NSPredicate(format: "id == %@", id)