[Swift] 38 メモアプリ製作 その11 Apple Watchで新規メモ作成

[M1 Mac, Ventura 13.3.1, Xcode 14.3]

メモアプリのwatchOS版では既存のメモを編集できるだけでした。さらに新規メモを作成できるようにしました。TextFieldなので1行の文字列として入力することになります。

後でiPhoneなどで改行を入れ整形する必要がありますが、とりあえずメモしたい時に便利です。

ToolbarItemのplacementを.automaticにして正常に配置できました。本当はプラスボタンをbottomに置きたいのですが、watchOS 9では不可のようです。watchOS 10で新機能として追加されるという情報を目にしました。本当だとしたらありがたいです。

これで大体完成と言ったところでしょうか。

struct ContentView: View {
    @Environment(\.managedObjectContext)var viewContext

    @FetchRequest(
    entity: Note.entity(),
    sortDescriptors: [NSSortDescriptor(key: "creationDate", ascending: false)])
    private var contents: FetchedResults<Note>

    var body: some View {
        NavigationView{
            List{
                ForEach(contents){content in
                    NavigationLink{
                        if((content.content?.isEmpty) == false){
                            DraftAppleWatch(text:content.content!, note: content)
                        }
                    }label:{
                        if((content.content?.isEmpty) == false){
                            Text(content.content!)
                        }
                    }
                }
                .onDelete(perform:deleteContent)
            }
            .navigationTitle("メモリスト")
            .navigationBarTitleDisplayMode(.inline)
            .toolbar{
                ToolbarItem(placement:.automatic){
                    NavigationLink{
                        DraftAppleWatch()
                    }label:{
                        Text("+")
                        .font(.system(size: 24))
                    }
                }
            }
        }
        .accentColor(.blue)
    }
<以下略>