我有一個用戶Class
,無論何時應用程序終止,它都使用saveuser()
方法。用戶有兩個Arrays
的自定義Classes
即子類NSObject
。這是我的編碼方法。使用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。 –