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

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

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

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

Q&A

1回答

2195閲覧

swift構造体のプロパティのファイル間での共有について

fu_3823

総合スコア81

Swift

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

0グッド

0クリップ

投稿2020/09/06 05:37

編集2020/09/08 08:09

swiftUIで親Viewのファイルで宣言した構造体について、子viewファイルでインスタンスを作りました。

swift

1(ContentView.swift) 2struct Data: Identifiable { 3 @State var id: UUID 4 @State var data: String 5 6struct ContentView: View { 7 ..... 8 ..... 9}

swift

1(RowView.swift) 2struct RowView: View { 3 @State var rowData:Data 4 @State var closure:(_ id: UUID) -> Void 5 6 var body: some View{ 7 HStack { 8 Text(rowData.data) 9 } 10 Button(action: { 11 self.closure(self.rowData.id) // # 12 }) { 13 Text("del") 14 } 15 } 16 } 17}

(RowView.swift)で作った1行のrowデータを雛形に(ContentView.swift)でリストを作ろうと思うのですが、「// #」のところで、
「Value of type '[Data]' has no member 'id'」
と、エラーが出ます。上手くバインディングできていないからかと思いますが、別ファイルで宣言した構造体のインスタンスを使う場合は、どのようにしたら良いのでしょうか。
なるべく不要なものは取り除いて投稿いたしました。

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

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

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

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

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

ozwk

2020/09/08 05:57

エラーを読むと、「型 [UrlData] (=UrlDataの配列)にidというメンバーはないよ」という事になっています。 提示されたコードを見る限り、エラーが起きているself.rowDataの型はDataで、 [UrlData]ではありません。転記ミスですか?
fu_3823

2020/09/08 08:11

すみません。投稿するにあたって、コードをシンプルにするために少し訂正したのですが、訂正されないまま残ってしまいました。編集いたしました。ご指摘ありがとうございました。
guest

回答1

0

SwiftUIに詳しくはないですが、
Value of type '[Data]'
とあるように、rowDataがData型の配列だからですね。

@State var rowData:Data
と書いてありますが、 rowData: [Data] みたいに書いてないですか?

投稿2020/09/08 20:31

maruchan

総合スコア2

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

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

fu_3823

2020/09/13 08:15

回答ありがとうございます。都合で、コードの確認ができず、お返事が遅くなり申し訳ありません。 コードは記載の通りでした。単純なことのように思いますので、自分でももう少し確認してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問