2011-10-30 13 views
9

iOS5'te, storyboarddaki tableView için ARC ve prototip hücrelerini kullanarak, aşağıdaki kodu değiştirebilir miyim:prototip hücreler için dequeueReusableCellWithIdentifier davranışı değişti mi?

static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView 
    dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] 
     initWithStyle:UITableViewCellStyleDefault 
     reuseIdentifier:CellIdentifier]; 
} 

// Configure the cell... 
return cell; 

Bu basit kodla:

UITableViewCell *cell = [tableView 
    dequeueReusableCellWithIdentifier:@"Cell"]; 
return cell; 

Bunu bu bağlantıda gördüm:

http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

Şimdiden teşekkürler!

Arildo

cevap

8

Tabii, film şeridi otomatik olarak yeni hücreler sağ alloc edilir kodunuzu, büyük bu kod çalışması:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    RoadbookCell *cell = (RoadbookCell *)[tableView dequeueReusableCellWithIdentifier:@"RoadbookCell"]; 

    //Configure cell 
    //[cell.lab1 setText:@"Test"]; 

    return cell; 
} 
+1

ben alamadım neden ama bu şey benim için çalışmıyor. Bir "sıfır" hücresi almaya devam ediyorum. Yeni bir master-detay projesi oluşturuyorum. Örnek harika çalışıyor. CellForRowIndexPath yöntemini ve tablo boyutu yöntemini eklediğimde ve boyutu 2 olarak ayarladığımda dequeueReusableCellWithIdentifier bana "nil" almayı sürdürdüğünden bir istisna alıyorum. – bashan

+1

storyCell'i storyboard'da yapılandırdınız mı? Bunun gibi: [link] http://minus.com/m59pfEOqW (not: hücre tanımlayıcısı, storyboard ve cellForRowAtIndexPath'ta aynıdır) – Kappe

+2

Ve "awakeFromNib" yöntemindeki hücre alt sınıfında herhangi bir kurulum öğesi yapmalısınız. "initWithStyle:" değil (o çağrılmaz) çünkü storyboard'dan yüklenir. – avocade

3

Bu Apple kullanılabilmesi niyetinde yoldur, ama buna karşı tavsiye . Bir aygıtta VoiceAssist etkinleştirildiğinde dequeueReusableCellWithIdentifier öğesinin sıfırlanmasına neden olan bir hata var. Bu, uygulamanızın bu seçeneği açık olan kullanıcılar için kilitleneceği anlamına gelir. Bu hala iOS gibi bir sorundur 5.1.1

Sen daha fazla bilgi ve burada geçici bir çözüm bulabilirsiniz

: Geçen paragraf geçici çözüm vardır

http://hsoienterprises.com/2012/02/05/uitableview-dequeuereusablecellwithidentifier-storyboard-and-voiceover-doesnt-work/

İlgili konular