如何在swift 3中取消归档数据?
我有一个应用程序,我将如何在swift 3中取消归档数据?,swift,nsuserdefaults,Swift,Nsuserdefaults,我有一个应用程序,我将CNContact数组保存到UserDefaults,如下所示: var contactsArray = [CNContact]() let defaults = UserDefaults() func (contact: CNContact){ contactsArray.append(contact) let contactArrayArchive = NSKeyedArchiver.archivedData(withRootObject: contac
CNContact
数组保存到UserDefaults
,如下所示:
var contactsArray = [CNContact]()
let defaults = UserDefaults()
func (contact: CNContact){
contactsArray.append(contact)
let contactArrayArchive = NSKeyedArchiver.archivedData(withRootObject: contactArray) //archive the data
defaults.set(contactArrayArchive, forKey: "contactArray")
defaults.synchronize()
}
这将对数据进行存档,以便将其保存到默认值。我的问题是如何将这些数据转换回viewDidLoad
中的CNContact
数组。我在网上看到了很多答案,建议使用NSKeyedArchiver.unarchiveObjectwithData
,但用swift3将其输入Xcode,表示.unarchiveObjectwithData
不是NSKeyedArchiver
的成员。我一直在寻找有关如何在swift 3中做到这一点的资料,但一直没有成功。如何取消存档该值?如果按⇧⌘0打开文档并键入nsk(3个字符足够),您将看到
要un存档某些内容,如果按,则需要键入unarchiver⇧⌘0打开文档并键入nsk(3个字符足够),您将看到
要un归档您需要的内容,可以使用
NSKeyedUnarchiver.unarchiveObject(with: Data)
您已经使用了NSKeyedArchiver。您不能使用此命令取消对象归档。您可以使用
NSKeyedUnarchiver.unarchiveObject(with: Data)
您已经使用了NSKeyedArchiver。不能使用此选项取消归档对象