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

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

25
ข้อมูลหลัก: วิธีที่รวดเร็วที่สุดในการลบอินสแตนซ์ทั้งหมดของเอนทิตี
ฉันใช้ Core Data เพื่อยืนยันผลการโทรจากเว็บเซอร์วิส บริการบนเว็บส่งคืนโมเดลวัตถุแบบเต็มสำหรับสมมติว่า "Cars" - อาจเป็นประมาณ 2000 รายการ (และฉันไม่สามารถทำให้ Web Service ส่งคืนสิ่งใดก็ตามที่น้อยกว่า 1 คันหรือทั้งหมด ในครั้งต่อไปที่ฉันเปิดแอปพลิเคชันของฉันฉันต้องการรีเฟรช Core Data ที่ยังคงมีอยู่โดยเรียกใช้ Web Service สำหรับรถยนต์ทุกคันอีกครั้งอย่างไรก็ตามเพื่อป้องกันการซ้ำซ้อนฉันจะต้องล้างข้อมูลทั้งหมดในแคชในเครื่องก่อน มีวิธีที่รวดเร็วกว่าในการกำจัดทุกอินสแตนซ์ของเอนทิตีเฉพาะในบริบทวัตถุที่มีการจัดการ (เช่นเอนทิตีทั้งหมดของประเภท "CAR") หรือฉันต้องค้นหาพวกเขาโทรแล้ววนซ้ำผ่านผลลัพธ์เพื่อลบแต่ละรายการจากนั้นบันทึก? เป็นการดีที่ฉันจะพูดลบทั้งหมดที่เอนทิตี้ของ Blah

25
มีข้อผิดพลาดเกิดขึ้นใน NSOrderedSet ที่สร้างขึ้น accessors
ในแอป Lion ของฉันฉันมีโมเดลข้อมูลนี้: ความสัมพันธ์subitemsภายในได้รับคำสั่งItem Xcode 4.1 (สร้าง 4B110) ได้สร้างสำหรับฉันไฟล์Item.h, Item.m, และSubItem.hSubItem.h นี่คือเนื้อหา (สร้างอัตโนมัติ) ของItem.h: #import <Foundation/Foundation.h> #import <CoreData/CoreData.h> @class SubItem; @interface Item : NSManagedObject { @private } @property (nonatomic, retain) NSString * name; @property (nonatomic, retain) NSOrderedSet *subitems; @end @interface Item (CoreDataGeneratedAccessors) - (void)insertObject:(SubItem *)value inSubitemsAtIndex:(NSUInteger)idx; - (void)removeObjectFromSubitemsAtIndex:(NSUInteger)idx; - (void)insertSubitems:(NSArray …
364 cocoa  core-data  xcode4 

4
ข้อมูลหลักเทียบกับ SQLite 3 [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันคุ้นเคยกับฐานข้อมูลเชิงสัมพันธ์แล้วและเคยใช้SQLite (และฐานข้อมูลอื่น ๆ ) มาก่อน อย่างไรก็ตามCore Dataมีเสน่ห์บางอย่างดังนั้นฉันจึงพิจารณาใช้เวลาในการเรียนรู้เพื่อใช้ในแอปพลิเคชันถัดไปของฉัน มีประโยชน์มากในการใช้ข้อมูลหลักผ่าน SQLite หรือในทางกลับกัน? ข้อดี / ข้อเสียของแต่ละคนคืออะไร? ฉันพบว่ามันยากที่จะพิสูจน์ค่าใช้จ่ายในการเรียนรู้ Core Data เมื่อ Apple ไม่ได้ใช้กับแอพพลิเคชั่นหลักเช่น Mail.app หรือ iPhoto.app แทนที่จะเลือกใช้ฐานข้อมูล SQLite SQLite ยังใช้อย่างกว้างขวางบน iPhone ผู้ที่คุ้นเคยกับการใช้ความคิดเห็นทั้งสองเกี่ยวกับประสบการณ์ของพวกเขา? บางทีเช่นเดียวกับสิ่งส่วนใหญ่คำถามนั้นลึกซึ้งกว่าการใช้คำถามหนึ่งกับอีกคำถามหนึ่ง?
314 cocoa  macos  core-data  sqlite 

8
วิธีซิงค์ข้อมูล iPhone หลักกับเว็บเซิร์ฟเวอร์แล้วส่งไปยังอุปกรณ์อื่น [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันทำงานกับวิธีการซิงค์ข้อมูลหลักที่จัดเก็บในแอปพลิเคชัน iPhone ระหว่างอุปกรณ์หลายชนิดเช่น iPad หรือ Mac เฟรมเวิร์กการซิงค์มีไม่มาก (ถ้ามี) สำหรับใช้กับ Core Data บน iOS อย่างไรก็ตามฉันได้คิดถึงแนวคิดต่อไปนี้: ทำการเปลี่ยนแปลงกับที่เก็บข้อมูลหลักโลคัลและการเปลี่ยนแปลงถูกบันทึก (a) หากอุปกรณ์ออนไลน์นั้นจะพยายามส่งเซ็ตการแก้ไขไปยังเซิร์ฟเวอร์รวมถึง ID อุปกรณ์ของอุปกรณ์ที่ส่งเซ็ตการแก้ไขนั้น (b) หากเซ็ตการแก้ไขไม่ถึงเซิร์ฟเวอร์หรือหากอุปกรณ์ไม่ได้ออนไลน์แอพจะเพิ่มการเปลี่ยนแปลงที่กำหนดไว้ในคิวเพื่อส่งเมื่อมันมาออนไลน์ เซิร์ฟเวอร์ซึ่งนั่งอยู่ในคลาวด์ผสานการเปลี่ยนแปลงเฉพาะที่ได้รับกับฐานข้อมูลหลัก หลังจากชุดการเปลี่ยนแปลง (หรือชุดของคิวการเปลี่ยนแปลง) ถูกผสานบนเซิร์ฟเวอร์คลาวด์เซิร์ฟเวอร์จะผลักดันชุดการเปลี่ยนแปลงเหล่านั้นทั้งหมดไปยังอุปกรณ์อื่นที่ลงทะเบียนกับเซิร์ฟเวอร์โดยใช้ระบบการสำรวจบางประเภท (ฉันคิดว่าจะใช้บริการ Push ของ Apple แต่เห็นได้ชัดว่าตามความคิดเห็นนี้ไม่ใช่ระบบที่ใช้การได้) มีอะไรแฟนซีที่ฉันต้องคิดเกี่ยวกับ? ผมมองที่กรอบ REST เช่นObjectiveResource , แกนทรัพยากรและRestfulCoreData แน่นอนว่าทั้งหมดนี้ทำงานร่วมกับ Ruby on Rails ซึ่งฉันไม่ได้ผูกติดอยู่ แต่เป็นจุดเริ่มต้น …

30
ลบ / รีเซ็ตรายการทั้งหมดใน Core Data หรือไม่
คุณรู้วิธีการลบรายการทั้งหมดที่เก็บไว้ใน Core Data หรือไม่? สคีมาของฉันควรคงเดิม ฉันต้องการรีเซ็ตเป็นค่าว่าง แก้ไข ฉันต้องการทำสิ่งนี้โดยทางโปรแกรมเพื่อให้ผู้ใช้สามารถกดresetปุ่มได้

7
Xcode 4, รุ่นข้อมูลแกนข้อมูล - ตั้งค่าเวอร์ชันปัจจุบัน
ฉันสับสนเกี่ยวกับวิธีการใช้งานฟังก์ชั่นต่อไปนี้ใน Xcode 4 เพื่อตั้งค่ารูปแบบการใช้งานหลังจากสร้างแบบจำลองที่มีเวอร์ชัน ออกแบบ> ตัวแบบข้อมูล> ตั้งค่าเวอร์ชันปัจจุบัน
183 core-data  xcode4 

25
รูปแบบที่ใช้ในการเปิดร้านนั้นไม่เข้ากันกับแบบที่ใช้ในการสร้างร้านค้า
ฉันสร้างโมเดลข้อมูลแกนใน xcode 3.2 และหลังจากอัปเกรดใน Xcode 4.2 ฉันก็เพิ่มเอนทิตีใหม่ของคลาสย่อย NSManagedObject (อ้างอิงถึงเอนทิตีใหม่) สิ่งแรกมันดูแปลกเพราะมันไม่ได้อยู่ในกลุ่มเดียวกันกับคนเก่า นี่คือภาพใน xcode ของฉัน 4.2 (AlkitabDB เป็นสิ่งที่ฉันสร้างขึ้นใน xcode 3.2 EndeDB เป็นรูปใหม่จาก xcode รุ่นปัจจุบัน (4.2): สิ่งที่สองฉันปล่อยให้มันเป็นอย่างนั้นจากนั้นฉันก็เข้าถึงเอนทิตีที่สอง (อันใหม่) แบบเดียวกับเอนทิตี้แรก (อันเก่า) และข้อผิดพลาดตามที่ชื่อปรากฏขึ้น นี่คือข้อผิดพลาด: 2012-01-16 21:13:38.496 iHuria[55953:207] Unresolved error Error Domain=NSCocoaErrorDomain Code=134100 "The operation couldn’t be completed. (Cocoa error 134100.)" UserInfo=0x8829cd0 {metadata=<CFBasicHash 0x882a370 [0x1839b38]>{type = …
181 ios  iphone  core-data 

2
ปฏิบัติที่ดีที่สุด? - Array / Dictionary เป็นคุณสมบัติของคอร์ Data Entity [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันยังใหม่กับ Core Data ฉันสังเกตเห็นว่าประเภทคอลเลกชันไม่สามารถใช้งานได้เป็นประเภทแอททริบิวต์และต้องการทราบว่าวิธีที่มีประสิทธิภาพมากที่สุดในการจัดเก็บข้อมูลประเภทอาเรย์ / พจนานุกรมเป็นแอตทริบิวต์ (เช่นองค์ประกอบที่ประกอบขึ้นเป็นที่อยู่เช่นถนนเมือง ฯลฯ ) ไม่ต้องการเอนทิตีที่แยกต่างหากและจัดเก็บเป็นพจนานุกรม / อาร์เรย์ได้สะดวกกว่าแอททริบิวต์ / ฟิลด์ที่แยกต่างหาก) ขอบคุณ.

9
Cocoa Core Data วิธีที่มีประสิทธิภาพในการนับเอนทิตี
ฉันอ่านมากเกี่ยวกับ Core Data .. แต่วิธีที่มีประสิทธิภาพในการนับจำนวน Entity-Type (เช่น SQL สามารถทำได้ด้วยการเลือก SELECT (1) ... ) ตอนนี้ฉันเพิ่งแก้ไขภารกิจนี้ด้วยการเลือกทั้งหมดด้วยNSFetchedResultsControllerและรับจำนวนNSArray! ฉันแน่ใจว่านี่ไม่ใช่วิธีที่ดีที่สุด ...

7
iphone Core Data Unresolved error error ขณะบันทึก
ฉันได้รับข้อความแสดงข้อผิดพลาดแปลก ๆ จากข้อมูลหลักเมื่อพยายามบันทึก แต่ปัญหาที่ข้อผิดพลาดนั้นไม่สามารถทำซ้ำได้ (ปรากฏในเวลาต่างกันเมื่อทำงานต่างกัน) ข้อความแสดงข้อผิดพลาด: Unresolved error Domain=NSCocoaErrorDomain Code=1560 UserInfo=0x14f5480 "Operation could not be completed. (Cocoa error 1560.)", { NSDetailedErrors = ( Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x5406d70 "Operation could not be completed. (Cocoa error 1570.)", Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x14f9be0 "Operation could not be completed. (Cocoa error 1570.)" ); } และวิธีการสร้างข้อผิดพลาดคือ: …

4
วิธีการลบรุ่นตัวแบบข้อมูลเก่า / ไม่ได้ใช้ใน Xcode
ฉันจะลบตัวแบบข้อมูลเก่าใน Xcode ได้อย่างไร ตัวเลือกถูกปิดใช้งานบนเมนู (โมเดลที่ฉันต้องการลบยังไม่ได้เผยแพร่สู่สาธารณะ - เป็นโมเดลการพัฒนาชั่วคราว)

8
Core Data ทุกความสัมพันธ์ต้องมี Inverse หรือไม่?
สมมติว่าฉันมี Entity สองคลาส: SocialAppและSocialAppType ในSocialAppฉันมีหนึ่งคุณลักษณะ: appURLและหนึ่งความสัมพันธ์: type. ในSocialAppTypeฉันมีสามคุณสมบัติ: baseURL, และnamefavicon ปลายทางของSocialAppความสัมพันธ์เป็นบันทึกเดียวในtypeSocialAppType ตัวอย่างเช่นสำหรับบัญชี Flickr หลายบัญชีจะมีจำนวนSocialAppเรคคอร์ดโดยแต่ละเรคคอร์ดจะมีลิงค์ไปยังบัญชีของบุคคล จะมีหนึ่งSocialAppTypeระเบียนสำหรับประเภท "Flickr" ซึ่งSocialAppระเบียนทั้งหมดจะชี้ไปที่ เมื่อฉันสร้างโปรแกรมประยุกต์กับคีมานี้ผมได้รับการเตือนว่าไม่มีความสัมพันธ์แบบผกผันระหว่างและSocialAppTypeSocialApp /Users/username/Developer/objc/TestApp/TestApp.xcdatamodel:SocialApp.type: warning: SocialApp.type -- relationship does not have an inverse ฉันต้องการสิ่งที่ตรงกันข้ามหรือไม่และทำไม?

11
วิธีการกรอง NSFetchedResultsController (CoreData) ด้วย UISearchDisplayController / UISearchBar
ฉันกำลังพยายามใช้รหัสการค้นหาในแอพ CoreData บน iPhone ของฉัน ฉันไม่แน่ใจว่าจะดำเนินการต่อไปอย่างไร แอพมี NSFetchedResultsController พร้อมกับภาคแสดงเพื่อดึงข้อมูลสำหรับ TableView หลักแล้ว ฉันต้องการให้แน่ใจว่าฉันอยู่บนเส้นทางที่ถูกต้องก่อนที่ฉันจะเปลี่ยนรหัสมากเกินไป ฉันสับสนเพราะตัวอย่างจำนวนมากเป็นแบบอาเรย์แทนที่จะเป็น CoreData นี่คือคำถามบางส่วน: ฉันต้องมี NSFetchedResultsController อันที่สองที่ดึงข้อมูลเฉพาะรายการที่ตรงกันหรือฉันสามารถใช้อันเดียวกับ TableView หลักได้หรือไม่ ถ้าฉันใช้อันเดียวกันมันง่ายเหมือนการล้างแคช FRC แล้วเปลี่ยนเพรดิเคตใน handleSearchForTerm: searchString? เพรดิเคตต้องมีเพรดิเคตเริ่มต้นเช่นเดียวกับคำค้นหาหรือจำได้ว่ามันใช้เพรดิเคตเพื่อดึงข้อมูลในตอนแรกหรือไม่ ฉันจะกลับไปที่ผลลัพธ์ดั้งเดิมได้อย่างไร ฉันเพิ่งตั้งค่าเพรดิเคตการค้นหาเป็นศูนย์หรือไม่ จะไม่ฆ่าเพรดิเคตดั้งเดิมที่ใช้เพื่อเรียกผลลัพธ์ FRC ในตอนแรกหรือไม่ หากใครมีตัวอย่างของรหัสโดยใช้การค้นหาด้วย FRC ฉันจะขอบคุณมันมาก!

13
การเพิ่ม Core Data ให้กับโครงการ iPhone ที่มีอยู่
ฉันต้องการเพิ่มข้อมูลหลักลงในโครงการ iPhone ที่มีอยู่ แต่ฉันยังคงได้รับข้อผิดพลาดในการรวบรวมจำนวนมาก: - NSManagedObjectContext undeclared - Expected specifier-qualifier-list before 'NSManagedObjectModel' - ... ฉันได้เพิ่ม Core Data Framework ไปยังเป้าหมายแล้ว (คลิกขวาที่โครงการของฉันภายใต้ "Target", "Add" - "Framework ที่มีอยู่", "CoreData.framework") ไฟล์ส่วนหัวของฉัน: NSManagedObjectModel *managedObjectModel; NSManagedObjectContext *managedObjectContext; NSPersistentStoreCoordinator *persistentStoreCoordinator; [...] @property (nonatomic, retain, readonly) NSManagedObjectModel *managedObjectModel; @property (nonatomic, retain, readonly) NSManagedObjectContext *managedObjectContext; @property (nonatomic, retain, readonly) …
138 ios  core-data 

16
ตำแหน่งการสนับสนุนแอปพลิเคชัน Xcode 6 iPhone Simulator
ใน Xcode 6 ฉันมีแอพที่ฉันใช้ Core Data อยู่ แต่ไม่มีโฟลเดอร์ใน Application Support สำหรับ iOS 8 iPhone Simulator ไฟล์และฐานข้อมูล Core Data sqlite ของฉันถูกเก็บไว้ที่ไหน?
137 ios  xcode  core-data  ios8  xcode6 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.