Realmを使って、TalbeViewCellのTextFieldに入力された6つの文字だけ保存したいです。
import UIKit
import RealmSwift
class TableViewController: UITableViewController, UITextFieldDelegate{
override func viewDidLoad() {
super.viewDidLoad()
/* 6つのtextFieldにRealmデータを反映したい */
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// MARK: - Table view data source
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return 6
}
/* セルの設定 */
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! TableViewCell
//テキストフィールドのデリゲート設定
cell.textFieldOutlet.delegate = self
return cell
}
/* エンターが押された時*/
func textFieldShouldReturn(_ textField: UITextField, cellForRowAt indexPath: IndexPath) -> Bool {
/ここでtextFieldの文字をRealmに保存(indexPath.rowのデータのみ更新したい)/
// 今フォーカスが当たっているテキストボックスに文字が入力されていたら
if textField.text != "" {
// 今フォーカスが当たっているテキストボックスからフォーカスを外す
textField.resignFirstResponder()
//次のタグ番号を持っているテキストボックスがあればフォーカスする
let nextTag = textField.tag + 1
if let nextTextField = self.view.viewWithTag(nextTag) {
nextTextField.becomeFirstResponder()
}
}else{
}
return true
}
/* トラッシュボタンが押された時*/
@IBAction func deleteButtonPush() {
let alertController = UIAlertController(title: "タスクをすべて削除しますか?",message: nil,preferredStyle: .alert)
let action:UIAlertAction = UIAlertAction(title: "はい", style: .default){ (void) in
/* ここでテキストフィールドのデータを全て削除したい */
}
let cancel:UIAlertAction = UIAlertAction(title: "いいえ", style: .default){ (void) in
}
/* 表示 */
alertController.addAction(action)
alertController.addAction(cancel)
present(alertController, animated: true, completion: nil)
}
}
import UIKit
class TableViewCell: UITableViewCell {
@IBOutlet weak var textLabelOutlet: UILabel!
@IBOutlet weak var textFieldOutlet: UITextField!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
import UIKit
import RealmSwift
class Task: Object {
@objc dynamic var task: String? = nil
}