2010-04-19 10 views
5

ठीक है तो मेरे पास मेरे डेटा मॉडल में दो इकाइयां हैं (चलिए इकाई ए और इकाई बी कहते हैं), इन दोनों इकाइयों में एक दूसरे के साथ कई संबंध हैं।NSFetchedResultsController के साथ कई रिश्तों से निपटने के लिए कैसे?

मैंने इकाई ए का एक समूह लाने के लिए एक NSFetchedResultsController सेट किया है। अब मैं टेबलव्यू के लिए अनुभाग नाम रखने की कोशिश कर रहा हूं इकाई बी का शीर्षक।

sectionNameKeyPath:@"entityB.title" 

अब यह एक समस्या है, जहां उस रिश्ते से लौटे अनुभाग नाम से प्रतीत होता है का कारण बनता है ({TITLE1}) या ({TITLE1, TITLE2 ... titleN}) स्पष्ट रूप से कितने अलग अलग entityB के हैं पर निर्भर करता है शामिल। यह तालिकादृश्य में बहुत अच्छा नहीं लग रहा है और जैसा कि मैं चाहूंगा वस्तुओं को समूहित नहीं करता हूं।

मुझे जो चाहिए वह प्रति इकाई बी शीर्षक है जिसमें प्रत्येक अनुभाग के अंतर्गत इकाई ए के साथ एक अनुभाग है, यदि आवश्यक हो तो कई सेक्शन के तहत। मुझे नुकसान हुआ है कि मुझे यह कैसे प्राप्त करना है कि क्या मुझे इकाई को कई बार प्रकट होने के लिए भविष्यवाणी करने की आवश्यकता है या क्या मुझे कुछ प्रसंस्करण करने के लिए अनुभाग और हेडर फ़ंक्शंस को अपडेट करने की आवश्यकता है क्योंकि नियंत्रक के माध्यम से लूप होता है वस्तुओं।

किसी भी मदद की सराहना की है :)

धन्यवाद

उत्तर

5

आप मिल जाएगा कि कॉल @ "entityB.title" एक सरणी वापस जाने के लिए जा रहा है क्योंकि | खिताब के लिए सेट करें।

NSSet *titles = [myEntityA [email protected]"entityB.title"]; 

इसे ठीक करने के लिए, आप अपने NSFetchedResultsController पलटना चाहते हैं ताकि आप EntityA फ़ेच कर रहे हैं EntityB वस्तुओं के माध्यम से वस्तुओं की जरूरत है: यह आप के रूप में यह में अनुवाद किया गया है क्या देख रहे हैं है। फिर आपका अनुभागकीपैथ (और आपका प्राथमिक प्रकार) सिर्फ @ "शीर्षक" के खिलाफ होगा।

+0

मुझे नहीं पता कि आप एंटीटीबी ऑब्जेक्ट्स के माध्यम से एंटीटीए ऑब्जेक्ट्स लाने के लिए NSFetchedResultsController कैसे प्राप्त करते हैं, लेकिन मैंने अभी एंटीटीबी ऑब्जेक्ट्स प्राप्त किए हैं और एनटीएफटेड रीसेट कंट्रोलर ने मुझे एंटीटीए प्राप्त करने के लिए UITableViewDataSource विधियों का उपयोग किया है। यह उतना बुरा नहीं था जितना कि मैंने मूल रूप से सोचा था कि यह होगा। – hanleyp

+1

इसे स्वयं करने की कोशिश कर रहा है। फिल या मार्कस, क्या आप इसे कैसे करें इस पर थोड़ा और विस्तार कर सकते हैं? स्टैक ओवरफ्लो और Google में सभी को देखकर, बहुत भाग्य नहीं है। Would किसी भी मदद की सराहना करते हैं। – SAHM

+0

@ जेपीके: अपनी सटीक समस्या का वर्णन करने वाला एक नया प्रश्न खोलें और फिर मैं इसका विस्तार कर सकता हूं। –