前提・実現したいこと
SwiftUIでCoreDataの特定のプロパティの一意の値だけのリストを作りたいです。
よろしくお願いいたします。
SwiftUI
1//Data+CoreDataProperties.swift 2import Foundation 3import CoreData 4 5extension Data { 6 7 @nonobjc public class func fetchRequest() -> NSFetchRequest<Data> { 8 return NSFetchRequest<Data>(entityName: "Data") 9 } 10 11 @NSManaged public var date: Date? 12 @NSManaged public var id: UUID? 13 @NSManaged public var name: String? 14 public var wrappedName: String { 15 name ?? "Unknown" 16 } 17 18} 19
SwiftUI
1//ListView.swift 2import SwiftUI 3import CoreData 4 5struct ListView: View { 6 @FetchRequest(entity: Data.entity(), sortDescriptors: []) var data: FetchedResults<Data> 7 var body: some View { 8 NavigationView{ 9 List{ 10 ForEach(data, id: .self) { d in 11 //下記では重複するwrappedNameが表示されてしまう 12 //例えばDataにwrappedNameが"Apple", "Banana", "Apple"の3レコードがある場合、 13 //"Apple"と"Banana"だけ表示したい 14 NavigationLink(destination: ChartView(title: d.wrappedName) { 15 Text(d.wrappedName) 16 } 17 } 18 } 19 } 20 } 21} 22
補足情報(FW/ツールのバージョンなど)
Xcode Version 11.3.1 (11C504)
あなたの回答
tips
プレビュー