5

मैं एक ऐसे ऐप पर काम कर रहा हूं जो कोर डेटा और NSFetchedResultsController का उपयोग करता है। ,सेक्शननामकेपैथ कई रिश्तों के माध्यम से

/-----------\   /-----------\   /-----------\ 
|Part  |   |Kit  |   |Source  | 
|-----------|   |-----------|   |-----------| 
|name  |   |name  |   |name  | 
|dimensions |   |description|   |location | 
|...  |   |...  |   |...  | 
|-----------|   |-----------|   |-----------| 
|kits  | <<-\  |source  | <<-----1 |kits  | 
|   |  \->> |parts  |   |   | 
\-----------/   \-----------/   \-----------/ 

तो एक Part एक कई करने के लिए किसी भी एक Kit साथ संबंध नहीं है (एक हिस्सा एक या अधिक किट में हो सकता है, और एक किट एक या अधिक भागों शामिल कर सकते हैं): मॉडल सेटअप इस तरह है । और प्रत्येक KitSource से आता है जो एक या अधिक Kit एस प्रदान कर सकता है।

मैं वर्तमान में UITableView बना रहा हूं जो NSFetchedResultsController का उपयोग Part ऑब्जेक्ट्स की एक साधारण सूची के साथ करता है। मैं भागों को खंडों में समूहित करना चाहता हूं, प्रत्येक अनुभाग Source का नाम है। यानी .:

|-------------------------------| 
|Source One      | 
|-------------------------------| 
|Part One      | 
|Part Two      | 
|Part Three      | 
|-------------------------------| 
|Source Two      | 
|-------------------------------| 
|Part Four      | 
|Part Two      | 
|Part Five      | 
|....       | 
|-------------------------------| 
|    O     | 
|-------------------------------| 

एक Part के बाद से कई Source रों से आ सकती है, यह sectionNameKeyPath का उपयोग करके एक NSFetchedResultsController के साथ ऐसा करना संभव है, या मैं इस एक पूरी तरह से अलग तरीके से करना है?

धन्यवाद!

उत्तर

0

मुझे ऐसा नहीं लगता है, क्योंकि NSFetchedResultsControllerKit को Part से सॉर्ट करने के लिए उपयोग करने के लिए उपयोग नहीं करेगा, क्योंकि यह कई सारे रिश्ते हैं।

एक पेड़ दृश्य, या यहां तक ​​कि उद्देश्य-सी विरासत संरचना के बारे में सोचें, जहां प्रत्येक बच्चे के नोड में बिल्कुल एक माता पिता होता है, लेकिन स्वयं के कई बच्चे नोड्स हो सकते हैं। आप आसानी से बच्चे के नोड से अपने माता-पिता तक पेड़ की मरम्मत कर सकते हैं। लेकिन अगर किसी बच्चे के कई माता-पिता हो सकते हैं, तो यह आंतरिक रूप से नहीं जानता कि कौन सा माता-पिता "पेड़" को पुन: स्थापित करते समय चुनना है (जो अब ग्राफ की तरह है)।

तो आपके डेटा मॉडल में, Part के पास Kit एस है? यदि आप एक से-अनेक संबंध, एक Kit कई Part रों हो सकता है जहां के लिए Kit और Part के बीच कई-अनेक संबंध बदलने के लिए, लेकिन एक Part केवल एक ही किट होती है, इसलिए तो आप sectionNameKeyPathNSFetchedResultsController पर @"kit.source.name" को सॉर्ट करने के लिए सेट कर सकते हैं नाम से, और सबकुछ ठीक काम करेगा।

पाठ्यक्रम मैं नहीं जानता कि वास्तव में कैसे अपने app काम करता है, यदि आप वास्तव में Kit और Part जो कई-अनेक संबंध की आवश्यकता है, लेकिन अगर आप ऐसा करेंगे, तो आप शायद नहीं एक NSFetchedResultsController का उपयोग करने में सक्षम होगा की

, और प्राप्त करने में कठिनाई Source और UITableViewDataSource तरीकों से अपने आप को लागू करने :(को लागू करने के लिए होता

0

आप इस परिणाम कई के लिए NSFetchedResultsController इस जवाब का उपयोग कर कई रिश्ते

को देखें प्राप्त कर सकते हैं: कैसे NSFetchedResultsController के साथ कई रिश्तों के लिए कई से निपटने के लिए?

और उदाहरण परियोजना: https://github.com/dmathewwws/Many-to-Many-CoreData

संबंधित मुद्दे