2014-09-21 6 views
6

Wie kann ich die Anzahl der Objekte im Abschnitt eines NSFetchedResultcController in Swift bekommen?Wie kann ich die Anzahl der Objekte im Abschnitt erhalten, NSFetchedResultsController Swift

if let s = self.fetchedResultsController?.sections as? NSFetchedResultsSectionInfo { 

    } 

gibt mir Cannot downcast from '[AnyObject]' to [email protected] protocol type NSFetchedResultsSectionInfo

var d = self.fetchedResultsController?.sections[section].numberOfObjects 

gibt mir does not have member named 'subscript'

Antwort

11

Sie müssen self.fetchedResultsController?.sections auf eine Array von NSFetchedResultsSectionInfo Objekte werfen:

if let s = self.fetchedResultsController?.sections as? [NSFetchedResultsSectionInfo] 

Dann können Sie die section passieren zu t er SUBSCRIPT und die Anzahl der Objekte erhalten:

if let s = self.fetchedResultsController?.sections as? [NSFetchedResultsSectionInfo] { 
    d = s[section].numberOfObjects 
} 
3

Ich denke, die derzeit akzeptierte Antwort von Mike S war pre Swift 2.0

Das Folgende ist für mich arbeiten (Swift 2.1):

if let sections = fetchedResultsController?.sections { 
    return sections[section].numberOfObjects 
} else { 
    return 0 
} 
Verwandte Themen