Nếu bạn có nghĩa là "tôi có thể thay đổi xcdatamodel của mình và chỉ hợp nhất các thay đổi từ mã được tạo vào mã hiện tại của tôi cho các lớp dẫn xuất NSManagedObject," có, điều đó thật đơn giản. Bạn chỉ cần tạo mã cho các mô hình đã thay đổi rồi hợp nhất các thay đổi bằng tay vào các lớp có nguồn gốc cụ thể đó. Vì những thay đổi giống như chúng chỉ là các thuộc tính và mối quan hệ bổ sung nên điều này không quan trọng - thực tế, bạn có thể sử dụng diff và patch để thực hiện việc bán tự động này nếu thay đổi của bạn thực sự là phụ gia.
Tuy nhiên, nếu bạn có nghĩa là bạn cần phải di chuyển một cửa hàng hiện có sang một lược đồ mới, bạn có một số công việc phía trước bạn. Có một số điều kiện nhất định (thêm các thực thể trực giao, các thuộc tính đã tải xuống, v.v.) sẽ không buộc bạn phải làm điều này. Bạn sẽ nhận ra nếu bạn cần hay không khi bạn cố gắng thêm các cửa hàng liên tục hiện tại của bạn vào điều phối viên lưu trữ liên tục cho bối cảnh đối tượng được quản lý của bạn.
Trước khi quyết định bắt đầu thực hiện thay đổi lược đồ, bạn nên luôn đọc về cách thực hiện migrations and versioning trong Dữ liệu chính - nếu bạn có các cửa hàng hiện tại bạn cần giữ lại. Điều này gần như chắc chắn là trường hợp trong các ứng dụng có dữ liệu người dùng được lưu trữ trong các kho dữ liệu Core. Và trừ khi bạn có một công cụ nhập tự động hoặc tiện ích tạo lưu trữ dữ liệu, các kho lưu trữ tĩnh hiện tại của bạn cũng có khả năng cần di chuyển.
Tôi đã tìm thấy [Di chuyển và phiên bản dữ liệu lõi] (http://www.timisted.net/blog/archive/core-data-migration/) khá rõ ràng lấp đầy chỗ trống trong tài liệu của Apple. 'Design> Data Model> Add Model Version' trong Xcode là bước tôi đã bỏ lỡ. –
Xin lưu ý: Để có được giá trị mặc định được đặt cho các thuộc tính mới của các đối tượng hiện có, bạn sẽ phải bỏ chọn cờ "tùy chọn". Liên kết – Klaas
@ShaunInman không khả dụng –