2011-02-11 14 views
6

Veritabanı tablosunda 10.000 satır var. Tüm bu satırları bir tablo görünümünde listeleyecek bir görünüm var. Ancak tek seferde yükleme, tablo görünümünde görünecek yaşları alır.iPhone SDK'daki Tablo Görünümünde "Daha Fazla Kayıt Yükle" nasıl uygulanır?

Bir kerede 20 kayıt getirecek "Daha Fazla Kayıt Yükle" özelliğini nasıl kullanabiliriz? Kullanıcı daha fazla giriş görüntülemek istiyorsa, "Daha Fazla Kayıt Yükle" düğmesine tıklayabilir ve sonraki 20 kaydı gösterecektir.

Seçme bildirimi değiştirmem gerekecek mi? Bunu başarmak için başka ne yapmam gerekiyor?

cevap

5

UITableView, hücrelerini yeniden kullanır. Bu, cellForRowAtIndexPath: çağrıldığında veritabanınıza dinamik olarak erişebileceğiniz anlamına gelir; tüm 10000 öğeyi bir kerede yüklemeniz gerekmez, aynı zamanda sizde olmanız gerekmez. Umarım bu yardımcı olur ve sorunuzu yanlış anlamıyorum.

Bu oldukça basit UITableView öğeleridir, ancak başlamanız gerekir. Maalesef Çekirdek Veriler veya SQLite hakkında fazla bir şey bilmiyorum.

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){ 
      cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell-iPad" owner:self options:nil] lastObject]; 
     } 
     else{ 
      cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] lastObject]; 
     } 
    } 


// Do stuff, load database values, etc 

    return cell; 
} 
+0

Örnek kod ne gibi görünüyor? Lütfen bana gösterebilir misin? – meetpd

+0

@meetpd emin, ancak sınıf referansı ile biraz zaman harcadım: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html – jakev

0

@meetpd bu bir yanıt değil sadece bir öneri.

sqlite yerine core data kullanabilirsiniz. 20 kayıt alma gereğini yerine getirecektir. Kod tabanınızı% 40'a indirecektir (Advance Iphone App Development'da Bard Larson tarafından söylendiği gibi). Sqlite kullanmak ve daha hızlıdır. Örnek kodu şu şekilde kontrol edebilirsiniz: enter image description here

Bu, büyük miktarda kodlamaya yardımcı olacaktır.

+0

@meetpd: Yukarıdaki adımları deneyin? – kanmani

İlgili konular