名前、性別、生年月日の3つが表示されるフォームをライブラリの「Eureka」というものを使用して作成しようとしているのですが、とりあえず、名前だけを表示させるところまで出来ています。rowやsectionは実装方法を見れば表示のさせ方はわかるのですが、アプリを一旦落として立ち上げなおした際にも入力していた情報を表示させておきたいので、userDefaultを使用して保存したのですが、それがうまくいきません。printでログを確認すると前回入力していた情報が表示されるので値そのものは保存されてるんですが、それをtextrowに出力することが出来ないといえばいいでしょうか。。つまりは、このTextRowに値を設定する方法がわかりません。どのように値を設定すれば前回入力した情報が表示されるようになりますか?
import UIKit
import Eureka
class SixViewController: FormViewController{
let userDefault = UserDefaults.standard override func viewWillAppear(_ animated: Bool) { if (userDefault.object(forKey: "Name") != nil){ print("データあり:\(userDefault.value(forKey: "Name"))") }else{ print("データなし") } } override func viewDidLoad() { super.viewDidLoad() form +++ Section(){ $0.tag = "namesec" } <<< TextRow("Name"){ $0.title = "テキスト入力" $0.placeholder = "ここに書いてね" }.onChange{row in self.userDefault.set(row.value, forKey: "Name") /* let nameRow = self.form.rowBy(tag: "Name") as! TextRow let name = nameRow.value! print("aaaaaaa:\(name)") */ // Do any additional setup after loading the view. } func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. }
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。