Czytam w niestandardowy komórkę tabeli tableView:cellForRowAtIndexPath:z pliku nib. Działa to wielkie dla moich celów, oprócz tego, że jest dość powolna.
Teraz wiem, co trzeba zrobić w dłuższej perspektywie jest stworzenie komórki w całości w kodzie, a także korzystać z jednego widoku, i tak dalej. Ale jest to prototyp, a ja nie chcę, aby umieścić, że wiele wysiłku w to.
Na razie byłbym zadowolony gdybym czytał stalówkę tylko raz na UIViewControllerpodklasy, następnie tableView:cellForRowAtIndexPath:wykonane kopie niego. Moje założenie jest to, że kopiowanie byłoby szybciej niż czytanie stalówkę.
Oto co mogę użyć w celu załadowania stalówki, co ja nazywam od viewDidLoad:(i retainpo)
-(id)loadFromNamed:(NSString*)name {
NSArray *objectsInNib = [[NSBundle mainBundle] loadNibNamed:name
owner:self
options:nil];
assert( objectsInNib.count == 1 );
return [objectsInNib objectAtIndex:0];
}
Wszystko jest dobrze do tej pory. Ale pytanie brzmi: Jak mogę skopiować ten w kółko? Czy to w ogóle możliwe?
Próbowałem [_cachedObject copy]i [_cachedObject mutableCopy]ale UITableViewCellnie obsługują protokół kopiowania.
Jeśli muszę, mogę tylko powiedzieć, żeby ignorować prędkość aż jestem gotów usunąć stalówkę całkowicie, ale wolałbym dostać idzie trochę szybciej, jeśli jest owocem nisko wiszące tutaj.
Jakieś pomysły?













