質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

631閲覧

🐤【Swift UI】ToDoリストを作成したい(取得した値をボタンを押すと追加したい)🐤

SA-KYO

総合スコア37

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2022/07/30 01:46

実現したいこと

(ToDoリスト)

取得した値を
追加ボタンを押すと
リストに追加したい

発生している問題・エラーメッセージ

取得した値を
追加ボタンを押すと
追加ボタンを押すと
一回目はリストに追加できず、
2回目を押すと追加できる

該当のソースコード

Swift

1※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 2※※※『取得した値』→("\(text.count + text2.count)")※※※※ 3※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 4 5struct ContentView: View { 6 7 @State var messages: [String] = [] 8 @State var newMessage = "" 9 10 11 12 13 VStack(alignment: .leading) { 14 VStack(alignment: .leading) { 15 Text("テキスト追加する") 16 .font(.footnote) 17 .foregroundColor(.gray) 18 HStack { 19 Text("\(text.count + text2.count)") 20 Button(action: { 21 self.messages.append(self.newMessage) 22 self.newMessage = ("\(text.count + text2.count)") 23 }) { 24 Text("追加") 25 .buttonStyle(BorderlessButtonStyle()) 26 } 27 } 28 }.padding([.leading, .trailing]) 29 30 List { 31 ForEach(messages, id: \.self) { user in 32 Text(user) 33 } 34 } 35 }

試したこと

下記参考サイトを元に
記述してきましたが
自分ではなかなか思い通り行きません、、、
↓↓↓↓↓↓↓↓↓↓↓↓↓↓
参考サイト

補足情報(FW/ツールのバージョンなど)

ぜひお力を貸していただけますとありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

swift

1self.messages.append(self.newMessage) 2self.newMessage = ("\(text.count + text2.count)")

先に self.newMessage の内容を self.messagesappend してから、text.count+text2.countの内容を self.newMessage にセットしているので、text.count+text2.countの内容がリストに追加されるのは、次にもう一度ボタンを押した時になるでしょうね。

投稿2022/07/30 02:21

TakeOne

総合スコア6299

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SA-KYO

2022/07/30 02:34 編集

迅速な御回答本当にありがとうございます!🥹 早速質問の件なのですが、 御教授いただきました通り、 思い通りの動作をしました!! 非常に分かりやすいアドバイス、 本当にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問