Soru basit: Nasıl özel yüklerim UITableViewCellXIb'nin dosyalarından? Bunu yapmanız, hücreleri tasarlamak için Interface Builder kullanmasına olanak sağlar. Cevap görünüşe bağlı bellek yönetimi konularına basit değildir. Bu iplik sorunu bahseder ve bir çözüm önerir, ancak bir ön NDA-salım ve kod yoksundur. İşte bu uzun iplik kesin bir cevap vermeden konuyu tartışmaktadır.
İşte kullandım bazı kod:
static NSString *CellIdentifier = @MyCellIdentifier;
MyCell *cell = (MyCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:CellIdentifier owner:self options:nil];
cell = (MyCell *)[nib objectAtIndex:0];
}
Bu kodu kullanmak için, MyCell.m / .h, yeni bir alt sınıfı oluşturmak UITableViewCellve eklemek IBOutletsistediğiniz bileşenleri için. Sonra yeni Boş XIB dosyası oluşturun. , IB XIb'nin dosyasını açın bir ekleme UITableViewCellnesnesi, MyCellIdentifier onun tanımlayıcı ayarlayın ve MyCell onun sınıfını ayarlayın ve bileşenleri ekleyin. Son olarak, bağlantı IBOutletsbileşenlerine. Biz IB Dosyanın Sahibi set vermedi unutmayın.
Diğer yöntemler Dosyanın Sahibi kurulmasından yana ve XIb'nin ek bir fabrika sınıfının aracılığı yüklü değilse, hafıza sızıntıları uyarır. Ben Aletler / Kaçaklar altında yukarıda test edilmiş ve hiçbir bellek sızıntılarını gördük.
Yani Xibs hücreleri yüklemek için kurallı yolu nedir? Biz Dosyanın Sahibi ayarlarım? Biz bir fabrika gerekir mi? Eğer öyleyse, fabrika için kod benziyor ne? Birden çözümler varsa, onlardan her birinin olumlu ve olumsuz yanlarını açıklamak istiyoruz ...














