8

साथ 'क्षणिक' क्षेत्रों के वर्गीकरण में वहाँ इस तरह और किसी तरह तरह एक NSFetchedResultsController साथ तदनुसार में एक 'क्षणिक' फ़ील्ड या कुछ और उपयोग करने के लिए एक रास्ता है। मैं निम्नलिखित करना चाहता हूं:NSFetchedresultController

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

क्या कोई ऐसा व्यक्ति है जो इस स्थिति के लिए समाधान या समाधान दे सकता है?

उत्तर

9

आप एक SQLite आधार कोर डाटा स्टोर के लिए एक लाने का अनुरोध में एक क्षणिक संपत्ति का उपयोग नहीं कर सकते हैं।

"कोर डाटा प्रोग्रामिंग गाइड" में Fetching Managed Objects देखें:

आप एक विधेय क्षणिक गुण के आधार पर (यद्यपि आप स्मृति अपने आप में फिल्टर करने के लिए क्षणिक गुणों का उपयोग कर सकते हैं) का उपयोग नहीं लाई जा सकती है। संक्षेप में संक्षेप में, यदि आप सीधे एक fetch निष्पादित करते हैं, तो आपको सामान्य रूप से उद्देश्य-सी-आधारित भविष्यवाणियों को जोड़ने या प्राप्तकर्ता अनुरोध को क्रमबद्ध करने के लिए क्रमबद्ध करना चाहिए। इसके बजाय आपको इन्हें प्राप्त करने के परिणामों पर लागू करना चाहिए।

आप sectionNameKeyPath के लिए एक क्षणिक संपत्ति का उपयोग कर सकते हैं, लेकिन फिर भी आप वर्गों है कि एक लगातार विशेषता के आधार पर किया जाता है के लिए पहली बार प्रकार वर्णनकर्ता की जरूरत है।

तो एकमात्र कामकाज शायद सभी ऑब्जेक्ट्स लाने के लिए है और फिर fetched सरणी को सॉर्ट करें। लेकिन फिर निश्चित रूप से आपके पास अब प्राप्त किए गए परिणाम नियंत्रक के फायदे नहीं हैं।

+0

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

+0

मैं क्षेत्र के भीतर स्थानों (अक्षांश/देशांतर द्वारा) का चयन करने के विकल्प के लिए गया, दूरी क्षेत्र को पॉप्युलेट करता हूं, और फिर तदनुसार क्रमबद्ध करता हूं। थोड़ा, ऊपरी ऊपरी भाग, लेकिन यह काम करता है। –

+1

कौन सा एक ही रूप में मैं पूछ के बाद किया है, देखें: http://stackoverflow.com/questions/3934418/what-is-the-fastest-way-to-sort-a-lot-of-locations-on- दूरी कंप्यूटिंग और भंडारण का मेरा अनुकूलन, लेकिन संदर्भ को सहेजने से, गति की चीजों को बढ़ाने में मदद मिल सकती है। – Bjinse