公開中のアプリ

[Xcode11・Swift5]メモアプリを作る#14

※この記事は初心者の方や初めてアプリを作る人を対象にしています。
動作環境 Xcode Version 11.4 Swift version 5.2

今回はメモの編集機能の細かい修正をしていきます。

今回実装する箇所

①のタイトルを変更する。
②のSaveボタンが最初から無効になっているのを有効にする。

修正箇所

タイトルを変更しよう

まずはタイトルを「New Memo」から「Edit Memo」に変更します。
今回編集するファイルはMemoViewController.swiftの「viewDidLoadメソッド」です。

override func viewDidLoad() {
    super.viewDidLoad()
    self.saveButton.isEnabled = false
    
    if let memo = self.memo {
        self.memoTextField.text = memo
        self.navigationItem.title = "Edit Memo"
    }
}

今回追加した箇所は7行目です。
5行目からの{ }中はメモがセットされていた場合処理を実行して下さいと言う部分なので、メモがセットされていたらタイトルを「Edit Memo」に変更しています。

Saveボタンを有効にしよう

Saveボタンですが、現状では「viewDidLoadメソッド」で無条件で無効になるように設定されています。
それをテキストフィールドの中身があるかないかを判断して、中身がなければ「無効」中身があれば「有効」と言う形に変えていきます。

ではその判定をするコードを書いていくのですが、実はもう下記コード部分で書いています。
ちなみにメモアプリを作る#10の記事でやりました。
MemoViewController.swiftの「viewDidLoadメソッド」の下あたりの下記コードです。

@IBAction func memoTextFieldChanged(_ sender: Any) {
    let memo = self.memoTextField.text ?? ""
    self.saveButton.isEnabled = !memo.isEmpty
}

この2行目と3行目を下記コード部分にコピペすればOKです!

override func viewDidLoad() {
    super.viewDidLoad()
    self.saveButton.isEnabled = false
    
    if let memo = self.memo {
        self.memoTextField.text = memo
        self.navigationItem.title = "Edit Memo"
    }
    let memo = self.memoTextField.text ?? ""
    self.saveButton.isEnabled = !memo.isEmpty
}

下記画像のようにタイトルが変更されていて、Saveボタンが有効になっていればOKです!

実装結果

まとめ

今回は編集画面のタイトルの変更とSaveボタンを無効から有効にする処理を実装しました。
今のままではCancelボタンが何も効かないので、次回はCancelボタンの修正をします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

アプリ