私の現在のプロジェクトでは、SwiftUI で Core Data を初めて使用しています。多くの問題の後、次のコードを使用してリストにデータを表示できるようになりました。
@FetchRequest(entity: SensorData.entity(), sortDescriptors: []) var sensorData: FetchedResults<SensorData>
List(sensorData, id: \.self){temp in
Text("\(temp.temperatur)")
}
(データは CoreData モデルの別の場所に書き込まれ、正常に動作します)
私のモデルには、Double タイプの温度属性が 1 つあるエンティティ (SensorData) が 1 つあります。
したがって、その時点ではすべて問題なく、すべてのエントリのリストを取得できます。しかし、ダイアグラムにデータを表示したいので、Double 配列のエントリが必要です。どうすればいいですか?私はこれを試しました:
var temperatures: [Double] = []
init(){
for temp in sensorData{
temperatures.append(temp.temperatur)
}
}
LineView(data: temperatures, title: "Temperatur")
.padding()
.frame(height: 500, alignment: .center)
ここでエラーが発生します: Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
また、属性のタイプを Transformabel に設定し、[Double] に設定しました。次に、次のようにデータをモデルに書き込みました。
if let temperatur = Double(temperatur){
let sensorData = SensorData(context: self.viewContext)
sensorData.temperatur?.append(temperatur)
try? self.viewContext.save()
}
しかし今、私はエラーが発生します:
スレッド 1: 致命的なエラー: 未解決のエラー エラー ドメイン = NSCocoaErrorDomain コード = 134140 「永続ストアの移行に失敗しました。マッピング モデルがありません。」UserInfo={destinationModel=(<NSManagedObjectModel: 0x600001044af0>) isEditable 0, entities { SensorData = "(<NSEntityDescription: 0x60000045c4d0>) name SensorData, managedObjectClassName SensorData, renamingIdentifier SensorData, isAbstract 0, スーパーエンティティ名 (null), プロパティ {\n 温度= "(<NSAttributeDescription: 0x600001d7af80>)、名前温度、isOptional
誰か助けてくれませんか?