-2
迅速私はuserDefaultsで配列を格納しようとしていますが、私は私のアプリを実行したときに、私はこのエラーを取得しています:NSUserDefaultsに配列を保存するには? 3
「非プロパティリストオブジェクトを挿入しようとする( 「Morning_Star_2.Event(タイトル:オプション(\を"テストタイトル\")、場所:キーテストのオプション(\ "テスト場所\"))」 」)
ここでは私のコードです:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var txtTitle: UITextField!
@IBOutlet weak var txtLocation: UITextField!
@IBOutlet weak var txtDate: UITextField!
@IBOutlet weak var txtTime: UITextField!
var eventsArray = [Event]()
@IBAction func btnSave() {
let savedEvents = UserDefaults.standard.object(forKey: "test")
let event = Event(eventTitle: txtTitle.text!, eventLocation: txtLocation.text!)
if let tempEvents = savedEvents {
eventsArray = tempEvents as! [Event]
eventsArray.append(event)
}
else {
let event = Event(eventTitle: txtTitle.text!, eventLocation: txtLocation.text!)
eventsArray.append(event)
}
UserDefaults.standard.set(eventsArray, forKey: "test")
//print(eventsArray)
}
}
あなたの配列は、ユーザデフォルトに自動的に保存することができないカスタムオブジェクトを持っています
あなたはそれがどれ?、あなたのオブジェクトにキャストする必要がありますどのよう戻ってくるデータを取得
。それを正しく行う方法をここで見てください:https://stackoverflow.com/questions/2315948/how-to-store-custom-objects-in-nsuserdefaults – DisableR[エラーで検索してください](http:// stackoverflow。 com/search?q =%5Bswift%5D +試行+から+挿入+非プロパティ+リスト+オブジェクト)。 – rmaddy
オブジェクトをUserDefaultsに直接格納することはできません。したがって、このタイプのエラーが発生します。 –