IOS Anzahl Der Abschnitte In der Tabellenansicht Dynamische

Ich bin erstellen einer app, wo Benutzer können speichern ein Objekt in Core Data. Ich habe die Objekte gezogen, in einen UITableView und alles funktioniert richtig. Ich möchte nun separate Objekte in eine mögliche 1-3 verschiedene Abschnitte basiert auf Entscheidungen, die in einem UISegmentedControl.

Derzeit habe ich das erstellen der 1 Abschnitt, und füllen Sie die Zellen der Abschnitt mit meinen Objekten

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    //Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    //Return the number of rows in the section.
    return self.fetchedDiscs.count;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"DiscCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    //Configure Cell
    Disc *currentDisc = [self.fetchedDiscs objectAtIndex:indexPath.row];

    cell.textLabel.text = currentDisc.name;
    cell.detailTextLabel.text = currentDisc.brand;

    return cell;
}

Also die wichtigste Frage ist, wie dynamisch ändern Sie die Anzahl der Abschnitte und die Anzahl der Zeilen im Abschnitt?

Segmentierten Kontrolle zurück, Werte wie Option 1, Option 2, Option 3. Die einzige Möglichkeit, die mir einfällt, ist, um eine Schleife durch meine fetchedDiscs array und trennen in einem array für jeden Abschnitt. Dann kann ich zurückgeben der Anzahl von arrays, wenn Sie vorhanden und ich kann die Anzahl der einzelnen array, um die Anzahl der Zeilen in jedem Abschnitt. Dann habe ich aber das problem, Wie man die CellForRowAtIndextPath, um korrekt zu arbeiten mit drei arrays.

Grundsätzlich gibt es eine bessere, logischere Weg, dies zu tun. Ich bin mir nur nicht sicher, wie.

Was Sie beschrieben haben ist ziemlich viel, wie Sie es tun würde. Die indexPath übergeben cellForRowAtIndexPath: enthält eine section - Eigenschaft, so dass Sie wissen, welches Feld für eine bestimmte Zelle
möglicherweise müssen Sie zuerst finden ein nettes tutorial über Sie zu sein scheinen, fehlen einige grundlegende Kenntnisse über die Arbeit mit UITableView Instanzen. jede mögliche Antwort wäre zu Komplex für simple Frage, und Sie werden wahrscheinlich donwvote, wenn Sie es nicht verstehen oder nicht verwenden können, es zu implementieren, die endgültige Lösung in Ihrer app.

InformationsquelleAutor Cody James Tooker | 2014-08-24

Schreibe einen Kommentar