Βοήθεια για να εισάγετε μια νέα ενότητα σε μια TableView

ψήφοι
5

Όλοι κρατήσει εγγράφως σχετικά με τη διαγραφή ενός τμήματος. Λοιπόν, δεν μπορώ να φαίνεται να πάρετε μια πρόσθεσε.

Επί του παρόντος, προσπαθώ σαν αυτό (το οποίο δεν με NSInternalInconsistencyException):

UITableView *tv = (UITableView *) self.tableView;

if ([tv numberOfSections] == 1)
{
     [tv beginUpdates];
     [tv insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationTop];

     NSLog(@Inserted.. Brace for impact.);
     [tv endUpdates];
}

NSLog(@Section count after update: %d, [tv numberOfSections]); // Never reached

Αν δεν κάνω λάθος, εισάγοντας ένα τμήμα με δείκτη 0 πρέπει να το τοποθετήσει στην κορυφή, πρόσκρουση όλα τα άλλα τμήματα προς τα κάτω, έτσι δεν είναι; Λοιπόν, αν γράφω τα numberOfSections αμέσως μετά τις insertSections, δεν φαίνεται να υπάρχει αλλαγή στον αριθμό των τμημάτων εκεί.

Καμιά ιδέα?

Johan

Δημοσιεύθηκε 30/03/2009 στις 16:25
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
3

Ναι, χάρη σε δυο σας.

Μετά από κάποια juggling, τελικά κατάφερε να πάρει αυτό που εργάζονται. Ήταν ένας συνδυασμός και των δύο τις προτάσεις σας. Τα νέα στοιχεία που ποτέ δεν εισήχθη, αλλά δεν είχα να αυξήσει τον αριθμό σειράς για το πρώτο στοιχείο εισάγεται, αλλά μόνο το δεύτερο.

Απαντήθηκε 08/04/2009 στις 07:43
πηγή χρήστη

ψήφοι
2

Θα πρέπει να ενημερώσετε το numberOfSectionsInTableView μήνυμα του UITableViewDataSource τάξης.

Απαντήθηκε 30/03/2009 στις 16:34
πηγή χρήστη

ψήφοι
2

Μήπως επίσης να ενημερώσετε την πηγή των δεδομένων σας; Δεν μπορείτε να ενημερώσετε μόνο την προβολή πίνακα, χωρίς επίσης ενημέρωση των υποκειμένων των δεδομένων.

Απαντήθηκε 30/03/2009 στις 16:29
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more