Dalam Xcode 4, jika Anda hanya melihat satu versi model data Anda di bawah bagian "Versi Data Core Model - Saat Ini" dari inspektur file ketika Anda memiliki file * .xcdatamodeld Anda dipilih; atau Anda memiliki versi ke-2 file * .xcdatamodel Anda yang ditampilkan di luar bundel xcdatamodeld dalam navigator proyek Xcode, baca di bawah ini.
Untuk memperbaikinya:
1) Hapus kedua referensi * .xcdatamodeld dan * .xcdatamodel dari Xcode dengan mengklik kanannya di navigator proyek dan tekan "Hapus".
2) Ketika diminta oleh Xcode, klik Hapus Referensi Saja (sangat penting).
3) Mulai ulang Xcode untuk mengukur baik jika ada caching yang terjadi.
4) Tambahkan kembali file * .xcdatamodeld tunggal yang berisi kedua file * .xcdatamodel.
Xcode sekarang harus mengenali hubungan dan memungkinkan Anda untuk memperluas file * .xcdatamodeld di navigator proyek untuk menampilkan kedua file * .xcdatamodel di bawah bundel xcdatamodeld induk, juga menunjukkan tanda centang hijau di sebelah model saat ini. Ini juga memungkinkan Anda memilih versi model data saat ini di pengawas file alih-alih hanya menampilkan satu versi.
Tidak ada yang seperti "model data inti berversi" di "Perpustakaan Objek". Jawaban pertama (dari Mac_Cain13) benar, meskipun saya tampaknya memiliki bug aneh dengan model saya berada di luar .modeld di Xcode.
StuFF mc
@StuFFmc - Periksa posting saya di bawah ini untuk memperbaiki masalah file xcdatamodel berada di luar bundel xcdatamodeld di navigator proyek Xcode.
Andrew
2
Mencari dalam Bantuan Xcode untuk "Versi Saat Ini" menghasilkan resep "Mengatur Versi Saat Ini yang Dikelola oleh Model Objek" yang menjelaskan cara melakukan ini ...
Sedikit topik, tetapi jika Anda telah mencapai pertanyaan ini untuk mengetahui cara membuat versi baru pertama dari model Anda (seperti yang saya lakukan): klik pada file xcdatamodel >> Menu "Editor" >> Tambahkan versi Model
Jawaban:
sumber
Dalam Xcode 4, jika Anda hanya melihat satu versi model data Anda di bawah bagian "Versi Data Core Model - Saat Ini" dari inspektur file ketika Anda memiliki file * .xcdatamodeld Anda dipilih; atau Anda memiliki versi ke-2 file * .xcdatamodel Anda yang ditampilkan di luar bundel xcdatamodeld dalam navigator proyek Xcode, baca di bawah ini.
Untuk memperbaikinya:
1) Hapus kedua referensi * .xcdatamodeld dan * .xcdatamodel dari Xcode dengan mengklik kanannya di navigator proyek dan tekan "Hapus".
2) Ketika diminta oleh Xcode, klik Hapus Referensi Saja (sangat penting).
3) Mulai ulang Xcode untuk mengukur baik jika ada caching yang terjadi.
4) Tambahkan kembali file * .xcdatamodeld tunggal yang berisi kedua file * .xcdatamodel.
Xcode sekarang harus mengenali hubungan dan memungkinkan Anda untuk memperluas file * .xcdatamodeld di navigator proyek untuk menampilkan kedua file * .xcdatamodel di bawah bundel xcdatamodeld induk, juga menunjukkan tanda centang hijau di sebelah model saat ini. Ini juga memungkinkan Anda memilih versi model data saat ini di pengawas file alih-alih hanya menampilkan satu versi.
sumber
Untuk Xcode 4.2
Klik pada YourModel.xcdatamodeld
Jadikan panel samping terlihat
Di bawah "model data inti berversi", pilih "kotak drop down saat ini", pilih model data Anda.
Sekarang tanda centang hijau dipindahkan ke model data Anda saat ini.
sumber
Mencari dalam Bantuan Xcode untuk "Versi Saat Ini" menghasilkan resep "Mengatur Versi Saat Ini yang Dikelola oleh Model Objek" yang menjelaskan cara melakukan ini ...
sumber
Sedikit topik, tetapi jika Anda telah mencapai pertanyaan ini untuk mengetahui cara membuat versi baru pertama dari model Anda (seperti yang saya lakukan): klik pada file xcdatamodel >> Menu "Editor" >> Tambahkan versi Model
Ini akan memulai pembuatan versi model.
sumber
Ini bekerja untuk saya: https://developer.apple.com/library/mac/recipes/xcode_help-core_data_modeling_tool/Articles/setting_current_version.html
memilih versi model data inti
Sekarang migrasi model db otomatis saya berfungsi (dengan kode migrasi otomatis dalam delegasi).
sumber
Anda juga dapat menggunakan metode penyetel dari CoraData ...
Lakukan saja seperti ini ...
Di CustomCoreDataManager.m Anda :
dan panggil metode init seperti ini
sumber