2009-03-30 17 views
5

Bir bölümü silme hakkında yazmaya devam edin. Eh, bir tane eklenmiş görünmüyor.TableView içinde yeni bir bölüm ekleme konusunda yardımcı olun

Şu anda, (NSInternalInconsistencyException ile başarısız olan) böyle çalışıyorum:

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 

Ben indeksi 0 ile bir bölüm ekleyerek üst kısmında doğru yerleştirmelidir am ise aşağı tüm diğer bölümleri darbeleme, sağ? Eğer insertSections'tan hemen sonra numberOfSections yazıyorsam, bölümlerin sayısında bir değişiklik yok gibi görünüyor.

Herhangi bir fikrin var mı?

Johan

cevap

3

Evet, ikinize de teşekkürler.

Bazı hokkabazlıktan sonra sonunda çalışmayı başardım. Önerilerinizden biriydi. Yeni veriler hiçbir zaman eklenmedi, ancak eklenen ilk öğe için satır sayısını artırmak zorunda kalmadım, ancak sadece ikinci.

2

Veri kaynağınızı güncellediniz mi? Temel verileri güncellemeden tablo görünümünü güncelleyemezsiniz.

+0

Evet .. hm. Evet, hala aynı istisna var. Yine de teşekkürler. – Johan

2

UITableViewDataSource sınıfının numberOfSectionsInTableView mesajını güncellemeniz gerekir.

+0

Evet, bölüm sayısını artırmak için bir neden olup olmadığını görmek için [öğe sayısı] yapıyorum, herhangi bir öğe eklendiyse, aksi halde 1, 2 döndürür. Veya aktif olarak numberOfSectionsInTableView iletisine gerek duyduğunuz mu demek istediniz? – Johan

+0

Hayır. Aktif olarak numberOfSectionsInTableView mesajlaşma demek istemedim. Görünüşe göre halihazırda yaptığınız şeyi kastettim: bu mesaj uygulamasında doğru sayıda bölüm döndürmek. –