여기에서 내가 뭘 잘못하고 있는지 잘 모르겠다./'NSUnknownKeyException', 이유 : '[<Users 0x78eb5bf0> valueForUndefinedKey :] : 엔터티 사용자가 키 "James"에 대해 키 값 코딩을 준수하지 않습니다.'
원하는 것은 엔티티 내의 코어 데이터 속성에 저장된 모든 데이터를 주어진 이름으로 얻을 수 있어야한다는 것입니다.
예를 들어 사용자 "James"에 대한 모든 정보가 저장됩니다.
func getUserDetails(name: String) {
let context = appDelegate.persistentContainer.viewContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Users")
request.returnsObjectsAsFaults = false
do {
let result = try context.fetch(request)
for data in result as! [NSManagedObject] {
print(data.value(forKey: name) as! String)
}
} catch {
print("Failed")
}
}
내가 지금 같은이 정보를 설정하고있다 :
이func parseJson() {
let context = appDelegate.persistentContainer.viewContext
let entity = NSEntityDescription.entity(forEntityName: "Users", in: context)
let user = NSManagedObject(entity: entity!, insertInto: context)
Alamofire.request(jsonLocation).responseJSON { (responseData) -> Void in
if((responseData.result.value) != nil) {
let swiftyJsonVar = JSON(responseData.result.value!)
for (_, value) in swiftyJsonVar {
let name = value["name"].stringValue
let gender = value["gender"].stringValue
let age = value["age"].intValue
user.setValue(name, forKey: "name")
user.setValue(gender, forKey: "gender")
user.setValue(age, forKey: "age")
do {
try context.save()
} catch {
print("Failed saving")
}
}
}
}
}
하지만 난 점점 오전 오류는 다음과 같습니다
'NSUnknownKeyException'를 이유로 여기
내 코드입니다 : '[valueForUndefinedKey :] : 엔티티 Users는 키 "James"에 대해 키 값 코딩을 준수하지 않습니다.'
아이디어가 있으십니까?
p.s. 이것은 UserDetails라는 클래스에 있습니다. 클래스의 기능을하기 전에 클래스 범위 내에서 설정했습니다 :
let jsonLocation = "https://link.to/json/for/users"
let appDelegate = UIApplication.shared.delegate as! AppDelegate
클래스 UserDetail은 어디에 있습니까? 오류가 거기에서오고있는 것 같습니다. – Sandeep
앱을 다시 설치하고 확인해 주시겠습니까? –