前提・実現したいこと
userdefaultsで保存した日付をtableviewcellの中のtextfieldに表示させたい
発生している問題・エラーメッセージ
一通りコードを書いてみたが、cellには何も表示されませんでした。お手数ですが、誰かお力をください!
該当のソースコード
import UIKit class DatePickerViewController: UIViewController { //UIDatePickerを定義するための変数 var datePicker: UIDatePicker = UIDatePicker() @IBOutlet weak var dateField: UITextField! override func viewDidLoad() { super.viewDidLoad() // ピッカー設定 datePicker.datePickerMode = UIDatePicker.Mode.date datePicker.timeZone = NSTimeZone.local datePicker.locale = Locale.current dateField.inputView = datePicker // 決定バーの生成 let toolbar = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 35)) let spacelItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil) let doneItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(done)) toolbar.setItems([spacelItem, doneItem], animated: true) // インプットビュー設定(紐づいているUITextfieldへ代入) dateField.inputView = datePicker dateField.inputAccessoryView = toolbar } // UIDatePickerのDoneを押したら発火 @objc func done() { dateField.endEditing(true) let ud = UserDefaults.standard ud.setValue(dateField.text, forKey: "datelist") ud.synchronize() // 日付のフォーマット let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" dateField.text = "(formatter.string(from: datePicker.date))" } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
該当のソースコード
ソースコード import UIKit class CustomTableViewCell: UITableViewCell { var starwars: String = "" @IBOutlet weak var booo: UITextField! @IBOutlet weak var oh: UILabel! override func awakeFromNib() { super.awakeFromNib() let ud = UserDefaults.standard starwars = ud.string(forKey: "datelist")! print(starwars) booo.text = String(starwars) } override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) } }
該当のソースコード
import UIKit class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { /// セルの個数を指定するデリゲートメソッド func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { return UITableViewCell() } /// セルに値を設定するデータソースメソッド(必須) private func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { // セルを取得 let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell") as! CustomTableViewCell return cell } @IBOutlet weak var tableview: UITableView! override func viewDidLoad() { super.viewDidLoad() } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。