2017-09-14 10 views
0

私は私のようなUserDefaultsCNContactの配列を保存するアプリを持っている:迅速にデータをアーカイブ解除する方法3?

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() 
} 

これはdefaultsに保存することができるようにするためにデータをアーカイブします。私の問題は、このデータをのCNContactの配列に戻す方法です。私はNSKeyedArchiver.unarchiveObjectwithDataを使用することを提案している多くの回答を見てきましたが、これをXcodeに入力すると、.unarchiveObjectwithDataNSKeyedArchiverのメンバーではありません。私は速やかにこれを行う方法についてのものを探し続けますが、成功していません。どのように値を解凍できますか?

答えて

6

NSKeyedUnarchiver.unarchiveObject(with: Data) 

あなたが使ったことがありますNSKeyedArchiverこれを使用してオブジェクトのアーカイブを解除することはできません。

2

あなたが(3つの文字で十分である)のドキュメントを開き、NSKを入力する⇧⌘0を押すと、あなたがNSKeyed を必要

enter image description here

に解除アーカイブ何かが表示されますUnアーカイバ

関連する問題