2010-12-07 3 views
5

Wie kann ich die Anzahl der aktuellen Zeilen in einer Variable in eine Variable speichern?UITableView in iPhone App - Wie bekomme ich die Anzahl der Zeilen

Dies ist mein Code für die Tabelle (dass ich denke, relevant sein könnten):

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section]; 
return [sectionInfo numberOfObjects]; 

}

+1

Sorry, ich verstehe diese Frage nicht. Diese Methode sieht gut aus, warum willst du sie ändern? Wenn Sie es speichern möchten, warum speichern Sie es nicht einfach in einem Ivar? – Eiko

+0

Ich bin mir nicht sicher, ob ich es auch verstehe ?! Ist es nicht nur der Fall, dass [sectionInfo numberOfObjects] in einem NSInteger für die obige Methode gespeichert wird? – Rog

+0

Ist es? Dann ist das meine Antwort! – benhowdle89

Antwort

12

Sie wirklich diese von der Quelle der Daten erhalten sollten, anstatt die Tabellenansicht selbst Hätte ich gedacht. (Es ist ein bisschen Arsch über das Gesicht, wie sie hier sagen würden.)

Das gesagt, Sie könnten die numberOfRowsInSection: Methode innerhalb der UITableView, wie Sie in Ihrem Beispiel gezeigt haben.

+0

Wie speichere ich den Wert in einer Variablen mit dieser Methode? – benhowdle89

+0

Er ... ist in der Datenquelle gespeichert (zB: NSArray als Zählmethode, etc.) Du könntest das natürlich mit einer Instanzvariable duplizieren, wenn du das meinst, aber ich bin mir nicht sicher über den Wert von Dies tun. Was versuchst du zu erreichen? –

+1

Ich möchte ein uiAlert anzeigen, wenn die Anzahl der Zeilen über 1 geht. Aber ich weiß nicht, wie – benhowdle89

2

Normalerweise haben Sie eine Datenquelle, die das UITableView, normalerweise Array, unterstützt. In diesem Fall können Sie einfach [myDataSourceArr count] ausführen.

+0

Es von Kerndaten als Datenquelle – benhowdle89

+0

unterstützt In diesem Fall haben Sie eine NSFetchedResultsController, und Sie können [[holedResultsController holedObjects ] Anzahl] – spencery2

0

Ich möchte ein uiAlert angezeigt werden, wenn die Anzahl der Zeilen oberhalb 1. geht aber ich weiß nicht, wie man

, die einfach nur überprüfen, ob Ihr Wert ist in diesem Fall über 0:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { 
    id <NSFetchedResultsSectionInfo> sectionInfo = 
     [[self.fetchedResultsController sections] objectAtIndex:section]; 
    if([sectionInfor numberOfObjects]>0){ 
     <<Put your code here>> 
    } 
     return [sectionInfo numberOfObjects]]; 
} 
Verwandte Themen