Swiftで遊ぼう! - 624 - CoreDataDemo3 - 6
- Swiftで遊ぼう!の前書き-> Life-LOG OtherSide
- Swift2.1 & Xcode7.1対応の日本語版アップルチュートリアル!
- Table View実装チュートリアルをXcode7.2.1で解説
- Core Data シンプルチュートリアル
- 私の本業、オフィシャルなブログ-> Life-LOG
CoreDataとTable Viewとの親和性の高さを説明するためのDemoプロジェクトを書いています。このプロジェクトは後で説明するNSFetchedResultsControllerの説明に繋がるものなのでしっかり理解する必要があります。
バーボタンアイテムの「Add」からコード化した@IBActionの「addNewStudent」メソッドをコードします。
@IBAction func addNewStrudent(sender: AnyObject) { let alert = UIAlertController(title: "Add Student", message: "Add New Student", preferredStyle: .Alert) let save = UIAlertAction(title: "Save", style: .Default) { (action: UIAlertAction) -> Void in let textField = alert.textFields![0] as UITextField self.saveStudent(textField.text!) // これはカスタムメソッドです。まだ説明していません。 self.myTableView.reloadData() } let cancel = UIAlertAction(title: "Cancel", style: .Default) { (action: UIAlertAction) -> Void in } alert.addTextFieldWithConfigurationHandler { (textField: UITextField) -> Void in } alert.addAction(save) alert.addAction(cancel) presentViewController(alert, animated: true, completion: nil) }
UIAlertControllerを使って新しいアイテムをデータベースに書き込むステップです。このコードが分からなければ次のエントリーで復習する必要があります。
yataiblue.hatenablog.com
ここで私の知らなかった新しいメソッドがありました。Alert表示の真ん中に入力を受け付けるテキストフィールドを登録するコードです。
- addTextFieldWithConfigurationHandler
これを加えると次のように表示されます。
saveアクションを使って、このテキストフィールドの内容をカスタムメソッドである「saveStudent」に渡します。
saveStudentメソッドの説明は明日。