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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Core Data

Core DataはAppleのOS X and iOSのためのオブジェクトモデリングと持続性を持ったフレームワークです。Xcodeはエンティティー、属性そして関係性を特定するためのオブジェクトモデルの編集機能を提供します。

Q&A

0回答

750閲覧

SwiftUI:Context in environment is not connected to a persistent store coordinator:

maron1220

総合スコア18

Core Data

Core DataはAppleのOS X and iOSのためのオブジェクトモデリングと持続性を持ったフレームワークです。Xcodeはエンティティー、属性そして関係性を特定するためのオブジェクトモデルの編集機能を提供します。

0グッド

0クリップ

投稿2020/05/27 01:53

現在SwiftUIとCoreDataを利用して、データの保存アプリを作成しています。
データ保存画面で値を入力したあと、確認画面を開く際にアプリがクラッシュします。
シュミレーター上では問題ないのですが、実機で行い際にクラッシュします。
原因がわからないのでご指導お願いします。

データ保存画面↓

swift

1 2// 3// BtListView.swift 4 5 6import SwiftUI 7import CoreData 8 9 10 11struct BtListView: View { 12 13 @Environment(.managedObjectContext) var context 14 @ObservedObject var keyboard = KeyboardObserver() 15 16 func addBun(){ 17 let newBun = BtList(context:context) 18 newBun.id = UUID() 19 newBun.isComplete = false 20 if bunValue != ""{ //入力無しでボタンを押した場合の条件分類 21 newBun.bun = bunValue 22 } 23 newBun.saveDate = Date() 24 do{ 25 try context.save() 26 }catch{ 27 print(error) 28 } 29 } 30 31 32 @State var bunValue:String = "" 33 @State var creValue:String = "" 34 35 36 let kidneys = ["BUN","CRE"] 37 38 39 let kidneyUnits = ["BUN":"mg/dL","CRE":"mg/dL"] 40 41 42 let kidneyBtCriteria = ["BUN":"6-25","CRE":"0.5-1.6"] 43 44 45 var body: some View { 46 47 List{ 48 Section(header:Text("腎機能")){ 49 50 HStack{ 51 ListFirstContainer(categoryName: kidneys[0]) 52 TextField("数字を入力",text:self.$bunValue) 53 .keyboardType(.numberPad) 54 ListSecondContainer(btUnitValue: kidneyUnits["BUN"] ?? "error", btCriteriaValue: kidneyBtCriteria["BUN"] ?? "error") 55 Button(action:{ 56 self.addBun() 57 UIApplication.shared.endEditing() 58 }){ 59 Text("追加") 60 } 61 } 62 63 HStack{ 64 ListFirstContainer(categoryName: kidneys[1]) 65 TextField("数字を入力",text: self.$creValue) 66 .keyboardType(.numberPad) 67 ListSecondContainer(btUnitValue: kidneyUnits["CRE"] ?? "error", btCriteriaValue: kidneyBtCriteria["CRE"] ?? "error") 68 Button(action:{ 69 self.addCre() 70 UIApplication.shared.endEditing() 71 } 72 ){ 73 Text("追加") 74 } 75 } 76 }//Sectionの閉じ 77 78 }//Listの閉じ 79 .onAppear{ 80 self.keyboard.startObserve() 81 }.onDisappear{ 82 self.keyboard.stopObserve() 83 }.padding(.bottom,keyboard.keyboardHeight) 84 .animation(.easeOut) 85 }//bodyの閉じ 86 }//structの閉じ 87 88 89 90 91struct BtListView_Previews: PreviewProvider { 92 static var previews: some View { 93 BtListView() 94 } 95} 96

データ表示画面↓(エラーが出ているのがこのファイルです)

swift

1 2// showBunValue.swift 3 4 5import SwiftUI 6import CoreData 7 8struct showBunValue:View { 9 10 11 12 @FetchRequest( 13 entity: BtList.entity(), 14 sortDescriptors: [NSSortDescriptor(keyPath:\BtList.saveDate,ascending:false)], 15 predicate: NSPredicate(format:"isComplete == %@",NSNumber(value:false)) 16 ) 17 var notCompletedBunLists:FetchedResults<BtList> 18 19 20 var body:some View { 21 List{ 22 Section(header:Text("結果|基準値|単位")){ 23 ForEach(notCompletedBunLists){list in 24 if list.bun as? String != nil{ 25 HStack{ 26 BunValueList(btList:list) 27 ListSecondContainer(btUnitValue: BtListView().kidneyUnits["BUN"] ?? "error", btCriteriaValue: BtListView().kidneyBtCriteria["BUN"] ?? "error") 28 } 29 }else{ 30 Text("error") 31 } 32 } 33 } 34 } 35 } 36} 37 38struct showBunValue_Previews: PreviewProvider { 39 static var previews: some View { 40 showBunValue() 41 } 42} 43

よろしくお願いいたします。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問