CoreData -untuk banyak hubungan

Saya mulai menggunakan Data Inti dan mencoba mendapatkan pemahaman yang kuat tentang cara kerjanya dalam kasus saya. Saya sedang membuat aplikasi album foto iPad yang memungkinkan pengguna memfilter hasil berdasarkan kata kunci dan beberapa atribut lain yang terkait dengan setiap foto. Atributnya adalah hal-hal dasar seperti orientasi dan warnanya atau tidak. Kata kunci akan didasarkan pada serangkaian nilai yang ditentukan yang harus dipilih oleh pengguna.

Berikut ini garis besar kasar dari apa yang saya miliki dalam Model Data Inti sejauh ini:
Entitas (atribut):
Foto (id, judul, deskripsi, jalur file)
Kata kunci (id, nama)

Karena sebuah foto dapat memiliki beberapa kata kunci yang dikaitkan dengannya, apakah saya membuat hubungan dari 'Foto' dengan tujuan 'Kata Kunci' dan menjadikannya hubungan -ke banyak? Apakah itu benar/gila/sepenuhnya salah? Bagaimana cara saya menambahkan/mengambil catatan untuk hubungan itu?


person ChickensDontClap    schedule 14.04.2012    source sumber


Jawaban (2)


Ini benar. Ada beberapa pendekatan untuk mengakses ini, tetapi cara paling mudah adalah dengan menghasilkan subkelas NSManagedObject (Editor->Buat Subkelas NSManagedObject...). Saat mengisi entitas Foto ini, hubungan Kata Kunci akan diisi di properti yang disebut kata kunci.

person Joseph DeCarlo    schedule 14.04.2012

Jika Kata Kunci ditentukan dan pengguna dapat memilihnya dari daftar yang ditentukan, saya tidak akan menggunakan Kata Kunci entitas. Tip selalu gunakan nama tunggal (Foto, Kata Kunci). Saya akan memiliki kata kunci dalam daftar dan pengguna memilih beberapa, Anda kemudian dapat membuat string yang dipisahkan koma untuk disimpan sebagai properti di Foto. Seperti yang disebutkan Joseph, Anda ingin membuat subkelas NSManagedObject dan saya kemudian akan menambahkan metode yang menerima string (kata kunci) dan mengembalikan BOOL yang menunjukkan apakah kata kunci itu adalah bagian dari nilai kata kunci yang dipisahkan koma pada properti Foto

person Daniel    schedule 14.04.2012