0
CNContact 세부 정보를 내 UserDefaults에 저장하려고했지만 실패합니다. 다른 방법으로 저장할 수 있습니까 CNContact
?CNContact를 UserDefaults에 저장합니다.
struct User {
var firstName: String = ""
var lastName: String = ""
var email: String = ""
var phoneNumber: String = ""
var company: String = ""
var assistantContact: CNContact?
init(firstName: String, lastName: String, email: String, phoneNumber: String, company: String, assistantContact: CNContact? = nil) {
self.firstName = firstName
self.lastName = lastName
self.email = email
self.phoneNumber = phoneNumber
self.company = company
self.assistantContact = assistantContact
}
func encode() -> Dictionary<String, AnyObject> {
var dictionary : Dictionary = Dictionary<String, AnyObject>()
dictionary["firstName"] = firstName as AnyObject?
dictionary["lastName"] = lastName as AnyObject?
dictionary["email"] = email as AnyObject?
dictionary["phoneNumber"] = phoneNumber as AnyObject?
dictionary["company"] = company as AnyObject?
dictionary["assistantContact"] = assistantContact as AnyObject?
return dictionary
}
init(dictionary: Dictionary<String, AnyObject>) {
if let firstName = dictionary["firstName"] as? String {
self.firstName = firstName
}
if let lastName = dictionary["lastName"] as? String {
self.lastName = lastName
}
if let email = dictionary["email"] as? String {
self.email = email
}
if let phoneNumber = dictionary["phoneNumber"] as? String {
self.phoneNumber = phoneNumber
}
if let company = dictionary["company"] as? String {
self.company = company
}
if let assistantContact = dictionary["assistantContact"] as? CNContact {
self.assistantContact = assistantContact
}
}
}
코드는 UserDefaults''에 대한 문서에서 한 번 –
을 제시해주십시오 충돌 디폴트에 해당 연락처를 저장 썼다 정수, 복소수, 정수, 부울 및 URL로 표시됩니다. 기본 객체는 NSData, NSString, NSNumber, NSDate, NSArray 또는 NSDictionary의 인스턴스 (또는 컬렉션, 인스턴스의 조합) 인 속성 목록이어야합니다. 다른 유형의 객체를 저장하려면 일반적으로 객체 유형을 저장하여 NSData의 인스턴스를 만들어야합니다. 자세한 내용은 환경 설정 및 설정 프로그래밍 안내서를 참조하십시오. * CNContact는 나열되지 않습니다. – rmaddy
@iOSGeek UserDefaults.standard.set (currentUser.encode(), forKey : AppConstants.kLoggedInUser). currentUser.encode()에서 충돌 함 – Nitesh