Я хочу сохранить свой объект класса в userdefault. Я пытаюсь сохранить его так:
class func setModel<T: Hashable>(model: T, key: String) {
let encodedData: Data = NSKeyedArchiver.archivedData(withRootObject: model)
UserDefaults.standard.set(encodedData, forKey: key)
UserDefaults.standard.synchronize()
}
, но приложение вылетает в первой строке этого метода с ошибкой:
NSForwarding: warning: object 0x600003944000 класса 'DronesApp_Worker.WorkerProfileResponse' не реализует methodSignatureForSelector: - проблема впереди Нераспознанный селектор - [DronesApp_Worker.WorkerProfileResponse replaceObjectForKeyedArchiver:]
101 *
class WorkerProfileResponse: Codable, Hashable, Mappable{
static func == (lhs: WorkerProfileResponse, rhs: WorkerProfileResponse) -> Bool {
return lhs.id == rhs.id
}
override var hash: Int{
return self.id!
}
var id, is_logged_in, last_login, last_active: Int?
var username, email, mobile_number: String?
var categoryName: String?
var userCategories: [SelectedCategory]?
var userSubCategories: [SelectedSubCategory]?
var biometricToken: String?
var accessToken: AccessToken?
var userStatus: UserStatus?
var userProfile: UserProfile?
required init(map: Map) {
}
func mapping(map: Map) {
id <- map["id"]
is_logged_in <- map["is_logged_in"]
last_login <- map["last_login"]
last_active <- map["last_active"]
biometricToken <- map["biometricToken"]
username <- map["username"]
email <- map["email"]
mobile_number <- map["mobile_number"]
accessToken <- map["accessToken"]
userStatus <- map["userStatus"]
userCategories <- map["userCategories"]
userSubCategories <- map["userSubCategories"]
userProfile <- map["userProfile"]
}
}
ниже 1010 * указанный 101 пользовательский класс равен