2010-01-22 21 views
37

लौटे मैं एक iPhone app में एक NSFetchedResultsController का उपयोग कर रहा है, और अगर वहाँ पंक्तियों की कुल संख्या सभी वर्गों में लौटे होने का कुछ आसान तरीका है सोच रहा हूँ।कोर डाटा NSFetchedResultsController - रिकॉर्ड की कुल संख्या

इसके बजाय [[fetchedResultsController वर्गों] गिनती] हो रही है और उसके बाद प्रत्येक अनुभाग के माध्यम से पाशन, इसकी गिनती पाने के लिए यह एक पंक्ति में किया जा सकता है की

?

धन्यवाद!

[fetchedResultsController.fetchedObjects count] 

उत्तर

107

इस लाइन लाई गई वस्तुओं की कुल संख्या देता है?

[fetchedResultsController.sections.valueForKeyPath: @"@sum.numberOfObjects"]; 

यह प्राप्त वस्तुओं को बिल्कुल स्पर्श नहीं करेगा, इसलिए यह गारंटी नहीं है कि उनको गलती न करें।

+1

धन्यवाद! मुझे पता था कि ऐसा कुछ आसान होना था! –

+2

किसी को भी सोचने के लिए, यदि आप एक Fetch Request के fetch बैच आकार की संपत्ति का उपयोग कर रहे हैं, तो ऊपर दिए गए इस गिनती विधि तक पहुंचने से सभी ऑब्जेक्ट्स को गलती नहीं करनी चाहिए। संदर्भ: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/NSFetchRequest.html – Senseful

+3

@Senseful जहां यह कहना है कि यह वस्तुओं गलती नहीं होगा? यह दस्तावेज़ों से स्पष्ट नहीं है। क्या यह कुछ आपने परीक्षण किया है? – bobics

12

यह कैसे एक के बारे में:

+1

प्यार केवीसी प्यार होगा! –

+2

यह देखने के लिए दुख हुआ कि इस उत्तर में बहुत कम वोट हैं ... – mokagio

+2

@mokagio क्योंकि performFetch पहले से ही दोष पैदा करता है। अनुभागों के माध्यम से लूप करने के बजाय, यदि आपके पास हजारों हैं, तो अविश्वसनीय रूप से महंगा हो सकता है, आपको बस 'fetchedObjects' पर' गिनती 'कॉल करनी चाहिए। – Andy

2

स्विफ्ट।

fetchedResultsController.fetchedObjects?.count

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