ฉันสับสนเกี่ยวกับวิธีการใช้งานฟังก์ชั่นต่อไปนี้ใน Xcode 4 เพื่อตั้งค่ารูปแบบการใช้งานหลังจากสร้างแบบจำลองที่มีเวอร์ชัน
ออกแบบ> ตัวแบบข้อมูล> ตั้งค่าเวอร์ชันปัจจุบัน
ฉันสับสนเกี่ยวกับวิธีการใช้งานฟังก์ชั่นต่อไปนี้ใน Xcode 4 เพื่อตั้งค่ารูปแบบการใช้งานหลังจากสร้างแบบจำลองที่มีเวอร์ชัน
ออกแบบ> ตัวแบบข้อมูล> ตั้งค่าเวอร์ชันปัจจุบัน
คำตอบ:
ใน Xcode 4 หากคุณเห็นรุ่นข้อมูลหนึ่งรุ่นภายใต้ส่วน "ตัวจำลองข้อมูลหลักรุ่น - ปัจจุบัน" ของตัวตรวจสอบไฟล์เมื่อคุณเลือกไฟล์ * .xcdatamodeld ของคุณ หรือคุณมีไฟล์ * .xcdatamodel รุ่นที่ 2 แสดงอยู่ด้านนอกของชุด xcdatamodeld ในเนวิเกเตอร์ของ Xcode อ่านด้านล่าง
ในการแก้ไขปัญหานี้:
1)ลบทั้งการอ้างอิง * .xcdatamodeld และ * .xcdatamodel จาก Xcode โดยการคลิกขวาที่ตัวนำทางโครงการและกด "Delete"
2)เมื่อ Xcode แจ้งให้คลิกลบการอ้างอิงเท่านั้น (สำคัญมาก)
3)รีสตาร์ท Xcode เพื่อการวัดที่ดีในกรณีที่มีการแคชเกิดขึ้น
4)เพิ่มไฟล์ * .xcdatamodeld เดี่ยวที่มีไฟล์ * .xcdatamodel ทั้งสอง
ตอนนี้ Xcode ควรรู้จักความสัมพันธ์และอนุญาตให้คุณขยายไฟล์ * .xcdatamodeld ในเนวิเกเตอร์โครงการเพื่อแสดงไฟล์ * .xcdatamodel ทั้งสองภายใต้บันเดิล xcdatamodeld หลักและแสดงเครื่องหมายสีเขียวถัดจากรุ่นปัจจุบัน สิ่งนี้ควรอนุญาตให้คุณเลือกรุ่นข้อมูลปัจจุบันในตัวตรวจสอบไฟล์แทนที่จะแสดงเพียงหนึ่งเวอร์ชัน
สำหรับ Xcode 4.2
คลิกที่ YourModel.xcdatamodeld
ทำให้บานหน้าต่างด้านข้างมองเห็นได้
ภายใต้ "รุ่นข้อมูลแกนหลัก" ให้เลือก "กล่องแบบหล่นลงปัจจุบัน" เลือกรูปแบบข้อมูลของคุณ
ตอนนี้เครื่องหมายถูกสีเขียวจะถูกย้ายไปยังรูปแบบข้อมูลปัจจุบันของคุณ
การค้นหาวิธีใช้ของ Xcode สำหรับ "เวอร์ชันปัจจุบัน" ให้สูตร "การตั้งค่าเวอร์ชันปัจจุบันของโมเดลวัตถุที่มีการจัดการ" ซึ่งอธิบายวิธีการทำสิ่งนี้ ...
หัวข้อเล็กน้อย แต่ถ้าคุณได้มาถึงคำถามนี้เพื่อที่จะรู้วิธีสร้างแบบจำลองรุ่นแรกของคุณ (เช่นที่ฉันทำ): คลิกที่ไฟล์ xcdatamodel >> เมนู "แก้ไข" >> เพิ่มรุ่นของแบบจำลอง
สิ่งนี้จะเริ่มต้นการกำหนดเวอร์ชันของโมเดล
สิ่งนี้ใช้ได้กับฉัน: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
ตอนนี้การย้ายแบบฐานข้อมูลอัตโนมัติของฉันก็ใช้งานได้ (ด้วยรหัสการโยกย้ายอัตโนมัติในผู้รับมอบสิทธิ์)
คุณสามารถใช้เมธอด setter จาก CoraData ...
ทำสิ่งนี้ได้ ...
ในCustomCoreDataManager.mของคุณ:
#import "ObjectiveRecord.h"
และเรียกวิธีการเริ่มต้นเช่นนี้
- (instancetype)init {
self = [super init];
if (self) {
[[CoreDataManager sharedManager] setModelName:@"YourModelName"];
}
return self;
}