Am citit - o celulă de tabel personalizat într - tableView:cellForRowAtIndexPath:dintr - un fișier peniță. Acest lucru funcționează mare pentru scopurile mele, cu excepția faptului că este destul de lent.
Acum, eu știu un lucru bun de a face pe termen lung este de a crea celula în întregime în cod, și de a folosi un singur punct de vedere, și așa mai departe. Dar aceasta este un prototip, iar eu nu vreau să pun atât de mult efort în el.
Deocamdată, aș fi fericit dacă am citit penița doar o singură dată în UIViewControllersubclasa, apoi a tableView:cellForRowAtIndexPath:făcut copii ale acesteia. Presupunerea mea este că copierea ar fi mai rapid decât citirea peniță.
Iată ce am folosi pentru a încărca penița, pe care o numesc de la viewDidLoad:(și retaindupă)
-(id)loadFromNamed:(NSString*)name {
NSArray *objectsInNib = [[NSBundle mainBundle] loadNibNamed:name
owner:self
options:nil];
assert( objectsInNib.count == 1 );
return [objectsInNib objectAtIndex:0];
}
Totul este bine până acum. Dar întrebarea este: Cum pot copia acest lucru de peste si peste? Este chiar posibil?
Am încercat [_cachedObject copy]și , [_cachedObject mutableCopy]dar UITableViewCellnu acceptă nici protocolul de copiere.
Dacă trebuie, eu pot spune doar le să ignore viteza până când sunt pregătit pentru a elimina penița în întregime, dar aș prefera să-l duc un pic mai repede în cazul în care există un fruct low-agățat aici.
Vreo idee?













