У меня есть Пользователь 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. –