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

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

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

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

0回答

308閲覧

【🐥Swift UI】NCMBのSwift SDKを使って掲示板アプリの学習(リストが起動時に表示されない)🐥

SA-KYO

総合スコア37

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2022/12/30 01:46

前提

Qiitaでの@goofmintさんの
記事を参考に模写学習をしているのですが、
表示がうまくいきません。

実現したいこと

本来ならばアプリを起動すると、
投稿されたリストが表示されると思うのですが、
一度右上の+ボタン(記事を投稿する画面)を
押してからじゃないと
リストが表示されません。
アプリを起動すると
リストを表示できるようにしたい。

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

本来ならばアプリを起動すると、 投稿されたリストが表示されると思うのですが、 一度右上の+ボタン(記事を投稿する画面)を 押してからじゃないと リストが表示されません。

該当のソースコード

SwiftUI

1 2import SwiftUI 3import NCMB 4 5struct ThreadListView: View { 6 @State var threads: [NCMBObject] = [] 7 @State private var showModal = false 8 @State private var showAlert = false 9 10 var body: some View { 11 NavigationView { 12 ZStack { 13 List { 14 ForEach(self.threads, id: \.objectId) { thread in 15 NavigationLink( 16 destination: ThreadView(thread: thread) 17 ) { 18 ThreadListRow(thread: thread) 19 } 20 } 21 .onDelete(perform: delete) 22 } 23 .navigationBarTitle("掲示板", displayMode: .inline) 24 .navigationBarItems(trailing: 25 Button(action: { 26 showModal.toggle() 27 }, label: { 28 Image(systemName: "plus") 29 .resizable() 30 .padding(6) 31 .frame(width: 24, height: 24) 32 .foregroundColor(.blue) 33 }) 34 ) 35 } 36 } 37 .onAppear { 38 getThread() 39 } 40 .sheet(isPresented: $showModal, content: { 41 AddThreadView() 42 }) 43 .onChange(of: showModal, perform: { value in 44 if (!showModal) { 45 getThread() 46 } 47 }) 48 .alert(isPresented: $showAlert, content: { 49 Alert(title: Text("削除に失敗しました。権限がないようです。")) 50 }) 51 } 52 53 func getThread() { 54 let query = NCMBQuery.getQuery(className: "Thread") 55 let results = query.find() 56 switch results { 57 case let .success(ary): 58 threads = ary 59 case .failure(_): break 60 } 61 } 62 63 func delete(at offsets: IndexSet) { 64 let thread = self.threads[Array(offsets)[0]] as NCMBObject 65 let results = thread.delete() 66 switch results { 67 case .success(_): 68 getThread() 69 case .failure(_): 70 showAlert = true 71 } 72 } 73} 74

試したこと

ZStackやリストの位置を変えましたが、
変化がありませんでした。

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

Qiitaでの@goofmintさんの
参考記事です。

コードもここに全てあります。

@goofmintさんの参考記事

ぜひお力添えいただけますと大変嬉しいです。
よろしくお願い致します。

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

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

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

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

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

Zuishin

2022/12/30 02:05

一年以上経っていいね 0 の記事ですが、あなたの望みの動作になるかどうか記事を書いた人に確認してみては?
SA-KYO

2022/12/30 02:14

ご回答ありがとうございます。 確認させていただくのも視野に入れて考えてみます( ; ; )
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問