

CoreDataで

EntityをAData、attributeを adataとし、Listで
adataを表示したいのですが、初期値が空のためか、items.adataが見つからない

と出ます

items.adata?

としても、出ます。

なにが必要ですか？

[code]

    struct ContentView: View {
        @Environment(\.managedObjectContext) private var viewContext
        
        @FetchRequest(
            sortDescriptors: [NSSortDescriptor(keyPath: \AData.adata, ascending: true)],
           animation: .default
        ) private var items: FetchedResults<AData>
        
        var body: some View {
             NavigationView {
                 List {
                     Section {
                        ForEach(0 ..< items.adata.count) {
                            Text(items.adata[index])
                        }
                 )
                 }
            } header: {
                Text("dust")
            }
        }
    }
                    
    
    
[/code]


CC BY-SA 4.0
2023-03-13T03:24:37.443
94149
2023-04-05T05:39:52.797
2023-04-05T05:39:52.797
40856
39481
question
swift swiftui coredata
CoreDataでattribute表示


手元に確認環境がないので想像ですが、

[code]

    ForEach(0 ..< items.count) { index in Text(items[index].adata) }
    
[/code]

になるのではないでしょうか。


CC BY-SA 4.0
2023-03-13T07:17:20.643
94152
2023-03-13T07:17:20.643
8077
94149
answer


全体のコードがコンパイルが通らないように思えます。

ForEachの部分を以下のようにすることでうまくと思います。

[code]

    ForEach(items, id: \.self) { item in
      let string = item.adata //ここでData(Binary Data)から配列に変換する処理が必要
      Text(string)
    }
    
[/code]


CC BY-SA 4.0
2023-04-05T05:37:25.563
94421
2023-04-05T05:37:25.563
40856
94149
answer