Sto leggendo un cella di una tabella personalizzata in tableView:cellForRowAtIndexPath:da un file di pennino. Questa grande opera per i miei scopi, tranne che è piuttosto lento.
Ora, so che la cosa giusta da fare nel lungo termine è quello di creare la cellula interamente in codice, e di utilizzare una singola vista, e così via. Ma questo è un prototipo, e non voglio mettere più di tanto sforzo in esso.
Per ora, sarei felice se stavo leggendo il pennino in una sola volta nell'arco UIViewControllersottoclasse, poi tableView:cellForRowAtIndexPath:ha fatto copie di esso. La mia ipotesi è che la copia sarebbe più veloce che leggere il pennino.
Ecco quello che io uso per caricare il pennino, che io chiamo da viewDidLoad:(e retaindopo)
-(id)loadFromNamed:(NSString*)name {
NSArray *objectsInNib = [[NSBundle mainBundle] loadNibNamed:name
owner:self
options:nil];
assert( objectsInNib.count == 1 );
return [objectsInNib objectAtIndex:0];
}
Tutto è bene finora. Ma la domanda è: come faccio a copiare questo più e più volte? E 'anche possibile?
Ho provato [_cachedObject copy]e [_cachedObject mutableCopy], ma UITableViewCellnon supporta entrambi i protocolli di copia.
Se devo, posso solo dire loro di ignorare la velocità fino a quando mi sono preparato per rimuovere il pennino del tutto, ma preferirei farlo andare un po 'più veloce se c'è un low-hanging fruit qui.
Qualche idea?













