câu hỏi ngắn:Xác định khi có phiên bản mới trong mô hình dữ liệu cốt lõi
Tôi muốn chạy một mã số nhất định trong ứng dụng của tôi chỉ khi model Core Data của tôi đã thay đổi (thực thể mới, tính chất mới, vv). Làm cách nào để xác định xem mô hình có thay đổi hay không?
Chỉ cần một số mã giả:
if (current_model_version != previous_model_version) {
//do some code
} else {
// do some other code
}
Tôi đoán tôi có thể sử dụng versionHashes để làm điều này, hoặc isConfiguration: compatibleWithStoreMetadata :, nhưng tôi không chắc chắn như thế nào.
Một số chỉnh sửa để làm rõ: 'hiện tại' như trong 'hiện tại' và 'trước' như trong 'ứng dụng thời gian qua đã được khởi chạy'.
Có lẽ [Lõi Data Model Versioning and Data Migration] (http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/CoreDataVersioning/Articles/Introduction.html) hướng dẫn giúp. – Rob
Vâng, tôi đã đào bới nó. isConfiguration: compatibleWithStoreMetadata: đã giải quyết nó cho tôi, nhưng tôi cần một ví dụ về việc thực hiện để hiểu chính xác nó được sử dụng như thế nào. –
'isConfiguration: compatibleWithStoreMetadata:' sẽ không cho bạn biết rằng có phiên bản mới - nó sẽ chỉ cho bạn biết rằng có phiên bản _incompatible_. Nếu phiên bản mới của bạn có thể được di chuyển tự động thì điều này sẽ trả về 'CÓ'. _ Tôi chỉ chắc chắn 90% về điều này - bạn có thể phải thử nghiệm để chứng minh tôi đúng/sai! _ – deanWombourne