คำถามติดแท็ก core-data

Core Data คือการสร้างแบบจำลองวัตถุและกรอบการคงอยู่ของ Apple สำหรับ iOS, iPadOS, tvOS, watchOS และ macOS Xcode มีตัวแก้ไขโมเดลอ็อบเจ็กต์สำหรับระบุเอนทิตีแอ็ตทริบิวต์และความสัมพันธ์

8
JSON และ Core Data บน iPhone
ฉันมีกราฟออบเจ็กต์ข้อมูลหลัก (ประกอบด้วยสองเอนทิตีที่เชื่อมโยงด้วยความสัมพันธ์ต่อกลุ่ม) ฉันอยากรู้อยากเห็นในฐานะผู้พัฒนา iPhone ที่ค่อนข้างไม่มีประสบการณ์ไม่ว่าใครจะสามารถแนะนำแนวทางและการใช้งาน JSON ที่เหมาะสมสำหรับ iPhone ซึ่งจะทำให้ฉันสามารถ แปลงระเบียนข้อมูลหลักเป็นสตริง JSON (ในขณะที่รักษาความสัมพันธ์ระหว่างเอนทิตี) และ แปลงสตริง JSON กลับเป็นวัตถุข้อมูลหลัก (รักษาความสัมพันธ์ระหว่างเอนทิตีอีกครั้ง) ฉันได้ค้นหาตัวอย่างบทช่วยสอน / โค้ดไม่สำเร็จในประเด็นนี้ดังนั้นเราจะได้รับความช่วยเหลือเป็นอย่างดี

21
ข้อมูลหลักตำแหน่งไฟล์ Sqlite
โดยปกติไฟล์เก็บ sqlite สำหรับแอปข้อมูลหลักจะอยู่ใน ไลบรารี> การสนับสนุนแอปพลิเคชัน> iPhone Simulator> 7.1 (หรือเวอร์ชันใดก็ตามที่คุณใช้)> แอปพลิเคชัน> (โฟลเดอร์ใดก็ตามที่มีแอปของคุณ)> เอกสาร แต่ฉันไม่พบใน IOS 8 ฉันคิดว่าพวกเขาจะเพิ่มโฟลเดอร์ 8.0 ภายในโฟลเดอร์ iPhone Simulator แต่ไม่มีอยู่ มีใครสามารถค้นหาได้หรือไม่

6
จะเขียนเพรดิเคต BOOL ใน Core Data ได้อย่างไร?
ฉันมีแอตทริบิวต์ของพิมพ์และฉันต้องการที่จะดำเนินการค้นหาสำหรับวัตถุที่จัดการทั้งหมดที่แอตทริบิวต์นี้คือBOOLYES สำหรับแอตทริบิวต์สตริงนั้นตรงไปตรงมา ฉันสร้างเพรดิเคตดังนี้: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userName = %@", userName]; แต่ฉันจะทำสิ่งนี้ได้อย่างไรถ้าฉันมีแอตทริบิวต์บูลที่เรียกว่าselectedและฉันต้องการสร้างเพรดิเคตสำหรับสิ่งนี้ ฉันจะทำอะไรแบบนี้ได้ไหม NSPredicate *predicate = [NSPredicate predicateWithFormat:@"selected = %@", yesNumber]; หรือฉันต้องการตัวระบุรูปแบบอื่น ๆ และเพียงแค่ผ่านYES?

8
วิธีจัดการกับอินสแตนซ์ NSManagedObject ชั่วคราว
ฉันต้องการสร้างNSManagedObjectอินสแตนซ์ทำบางอย่างกับพวกเขาแล้วทิ้งหรือจัดเก็บลงใน sqlite db ปัญหาคือฉันไม่สามารถสร้างอินสแตนซ์ที่NSManagedObjectไม่ได้เชื่อมต่อกับNSManagedObjectContextและนั่นหมายความว่าฉันต้องล้างข้อมูลหลังจากตัดสินใจว่าฉันไม่ต้องการวัตถุบางอย่างในฐานข้อมูลของฉัน เพื่อจัดการกับมันฉันได้สร้างที่เก็บในหน่วยความจำโดยใช้ผู้ประสานงานคนเดียวกันและฉันวางวัตถุชั่วคราวไว้ที่นั่นโดยใช้assignObject:toPersistentStore.Now ฉันจะแน่ใจได้อย่างไรว่าวัตถุชั่วคราวเหล่านี้จะไม่เข้าถึงข้อมูลซึ่งฉันดึงมาจาก เหมือนกันกับบริบทร้านค้าทั้งสอง? หรือฉันต้องสร้างบริบทแยกต่างหากสำหรับงานดังกล่าว? UPD: ตอนนี้ฉันกำลังคิดที่จะสร้างบริบทแยกต่างหากสำหรับที่เก็บในหน่วยความจำ ฉันจะย้ายวัตถุจากบริบทหนึ่งไปยังอีกบริบทได้อย่างไร เพียงแค่ใช้ [บริบท insertObject:]? การตั้งค่านี้จะใช้งานได้หรือไม่ ถ้าฉันแทรกวัตถุหนึ่งจากกราฟของวัตถุกราฟทั้งหมดจะถูกแทรกลงในบริบทด้วยหรือไม่

3
ตัวอย่างหรือคำอธิบายของ Core Data Migration with multiple pass?
แอพ iPhone ของฉันจำเป็นต้องย้ายที่เก็บข้อมูลหลักและฐานข้อมูลบางส่วนมีขนาดค่อนข้างใหญ่ เอกสารของ Apple แนะนำให้ใช้ "บัตรผ่านหลายใบ" ในการย้ายข้อมูลเพื่อลดการใช้หน่วยความจำ อย่างไรก็ตามเอกสารประกอบมี จำกัด มากและอธิบายได้ไม่ดีว่าจะทำอย่างไร ใครบางคนสามารถชี้ให้ฉันเห็นตัวอย่างที่ดีหรืออธิบายรายละเอียดเกี่ยวกับกระบวนการดึงสิ่งนี้ออกมาได้จริงหรือ?

4
วิธีการซิงค์ CoreData และบริการเว็บ REST แบบอะซิงโครนัสและในเวลาเดียวกันอย่างเหมาะสมเผยแพร่ข้อผิดพลาด REST ลงใน UI
สวัสดีฉันกำลังทำงานกับเลเยอร์โมเดลสำหรับแอปของเราที่นี่ ข้อกำหนดบางประการมีดังนี้: ควรใช้กับ iPhone OS 3.0+ แหล่งที่มาของข้อมูลของเราคือแอปพลิเคชัน RESTful Rails เราควรแคชข้อมูลในเครื่องโดยใช้ Core Data รหัสไคลเอ็นต์ (ตัวควบคุม UI ของเรา) ควรมีความรู้เกี่ยวกับสิ่งต่างๆในเครือข่ายให้มากที่สุดเท่าที่จะเป็นไปได้และควรสอบถาม / อัปเดตโมเดลด้วย Core Data API ฉันได้ตรวจสอบWWDC10 เซสชัน 117เกี่ยวกับการสร้างประสบการณ์ผู้ใช้ที่ขับเคลื่อนด้วยเซิร์ฟเวอร์ใช้เวลาพอสมควรในการตรวจสอบObjective Resource , Core ResourceและRestfulCoreData frameworks เฟรมเวิร์ก Objective Resource ไม่ได้พูดคุยกับ Core Data ด้วยตัวมันเองและเป็นเพียงการนำไคลเอนต์ REST มาใช้เท่านั้น ทรัพยากรหลักและ RestfulCoreData ทั้งหมดถือว่าคุณคุยกับ Core Data ในโค้ดของคุณและพวกเขาแก้ปัญหาถั่วและสลักเกลียวทั้งหมดในพื้นหลังของเลเยอร์โมเดล ตอนนี้ทุกอย่างดูดีและในตอนแรกฉันแม้ว่า Core Resource หรือ RestfulCoreData …

5
การจัดการข้อผิดพลาด "การผลิต" ข้อมูลหลักของ iPhone
ฉันเห็นในโค้ดตัวอย่างที่ Apple ให้มาอ้างถึงวิธีจัดการกับข้อผิดพลาดของ Core Data ได้แก่ : NSError *error = nil; if (![context save:&error]) { /* Replace this implementation with code to handle the error appropriately. abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may …

1
การบันทึกเอนทิตีข้อมูลหลักใน popover ใน SwiftUI จะพ่น nilError โดยไม่ต้องผ่าน. สิ่งแวดล้อมไปยัง SubView อีกครั้ง
Playin 'กับ SwiftUI และ Core Data ทำให้ฉันมีปัญหาแปลก ๆ ดังนั้นสถานการณ์ดังต่อไปนี้: ฉันมีมุมมองหลัก "AppView" และมุมมองย่อยที่ชื่อว่า "SubView" มุมมอง SubView จะถูกเปิดจากมุมมอง AppView ถ้าฉันคลิกปุ่มบวกใน NavigationTitleBar ในฐานะ popover หรือชีต @Environment(\.managedObjectContext) var managedObjectContext @State private var modal: Bool = false ... Button(action: { self.modal.toggle() }) { Image(systemName: "plus") }.popover(isPresented: self.$modal){ SubView() } มุมมอง SubView มีรูปแบบเล็ก ๆ ที่มีวัตถุ TextField …
15 ios  swift  core-data  swiftui 

2
วิธีการอัพเดต @FetchRequest เมื่อมีการเปลี่ยนแปลง Entity ที่เกี่ยวข้องใน SwiftUI
ใน SwiftUI ViewฉันมีListอยู่บนพื้นฐานของ@FetchRequestการแสดงข้อมูลของPrimaryนิติบุคคลและผ่านความสัมพันธ์ที่เชื่อมต่อSecondaryนิติบุคคล ViewและListปรับปรุงอย่างถูกต้องเมื่อฉันเพิ่มใหม่Primaryนิติบุคคลกับนิติบุคคลใหม่รองที่เกี่ยวข้อง ปัญหาคือเมื่อฉันอัปเดตSecondaryรายการที่เชื่อมต่อในมุมมองรายละเอียดฐานข้อมูลจะได้รับการอัพเดต แต่การเปลี่ยนแปลงจะไม่สะท้อนให้เห็นในPrimaryรายการ เห็นได้ชัด@FetchRequestว่าไม่ได้รับการกระตุ้นจากการเปลี่ยนแปลงในมุมมองอื่น เมื่อฉันเพิ่มรายการใหม่ในมุมมองหลักหลังจากนั้นรายการที่เปลี่ยนแปลงก่อนหน้านี้จะได้รับการปรับปรุงในที่สุด ในฐานะที่เป็นวิธีการแก้ปัญหาฉันยังปรับปรุงคุณลักษณะของPrimaryกิจการในมุมมองรายละเอียดและการเปลี่ยนแปลงที่เผยแพร่ไปยังPrimaryมุมมองอย่างถูกต้อง คำถามของฉัน: ฉันจะบังคับให้อัปเดตข้อมูลทั้งหมดที่เกี่ยวข้อง@FetchRequestsใน SwiftUI Core Data ได้อย่างไร โดยเฉพาะเมื่อฉันไม่มีการเข้าถึงโดยตรงไปยังหน่วยงานที่เกี่ยวข้อง / @Fetchrequests? import SwiftUI extension Primary: Identifiable {} // Primary View struct PrimaryListView: View { @Environment(\.managedObjectContext) var context @FetchRequest( entity: Primary.entity(), sortDescriptors: [NSSortDescriptor(key: "primaryName", ascending: true)] ) var fetchedResults: FetchedResults<Primary> var body: some View …

1
CoreData และ SwiftUI: บริบทในสภาพแวดล้อมไม่ได้เชื่อมต่อกับผู้ประสานงานร้านค้าแบบถาวร
ฉันกำลังพยายามสอนตัวเองข้อมูลหลักโดยการสร้างแอปจัดการการบ้าน รหัสของฉันสร้างได้ดีและแอพทำงานได้ดีจนกระทั่งฉันพยายามเพิ่มการบ้านใหม่ในรายการ ฉันได้รับข้อผิดพลาดนี้Thread 1: EXC_BREAKPOINT (code=1, subcode=0x1c25719e8)ในบรรทัดต่อไปนี้: ForEach(courses, id: \.self) { course in. Context in environment is not connected to a persistent store coordinator: <NSManagedObjectContext: 0x2823cb3a0>คอนโซลนอกจากนี้ยังมีข้อผิดพลาดนี้: ฉันรู้น้อยมากเกี่ยวกับคอร์ข้อมูลและฉันกำลังสูญเสียเป็นสิ่งที่อาจเป็นปัญหา ฉันได้ตั้งค่าเอนทิตี "การมอบหมาย" และ "หลักสูตร" ในรูปแบบข้อมูลโดยที่หลักสูตรมีความสัมพันธ์แบบหนึ่งต่อหลายคนกับการมอบหมาย การมอบหมายแต่ละครั้งจะถูกจัดหมวดหมู่ภายใต้หลักสูตรเฉพาะ นี่คือรหัสสำหรับมุมมองที่เพิ่มการมอบหมายใหม่ให้กับรายการ: struct NewAssignmentView: View { @Environment(\.presentationMode) var presentationMode @Environment(\.managedObjectContext) var moc @FetchRequest(entity: Course.entity(), sortDescriptors: []) var courses: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.