나는 saveuser()
메서드를 사용하는 사용자 Class
을 응용 프로그램이 종료 될 때마다 가지고 있습니다. 사용자는 서브 클래스 NSObject
인 Classes
사용자 지정 Arrays
두 개가 있습니다. 여기 내 인코딩 방법입니다.NSCoder가있는 인코딩 배열
func encode(with aCoder: NSCoder) {
aCoder.encode(self.firstName, forKey: coderKey.fName)
aCoder.encode(self.lastName, forKey: coderKey.lName)
aCoder.encode(self.bio, forKey: coderKey.bio)
aCoder.encode(self.tags, forKey: coderKey.tags)
aCoder.encode(self.organizations, forKey: coderKey.orgs)
aCoder.encode(self.img, forKey: coderKey.img)
}
self.tags
을 인코딩 할 때 앱이 다운됩니다. 나는 self.organizations
을 가지고 있기 때문에 array
이 NSObjects
이고, self.img
일 수도 있기 때문에 UIImage
이기 때문에 동일하게 처리된다고 가정합니다. 여기에 내가 얻는 오류가있다.
인해 캐치되지 않는 'NSInvalidArgumentException'예외 응용 프로그램 종료, 이유는 : -
'[Social_Justice.Tag encodeWithCoder :] 인스턴스 0x60000005efc0에 인식 할 수없는 선택기를 보내'내가이 문제를 해결하려면 어떻게해야합니까? 더 이상 코드가 필요하면 주석을 달아 편집 해 보겠습니다.
두 개의 사용자 정의 클래스도 NSCoding을 구현해야합니다. –