Διαβάζω ένα κελί προσαρμοσμένο πίνακα σε tableView:cellForRowAtIndexPath:από ένα αρχείο μύτη. Αυτό λειτουργεί μεγάλο για τους σκοπούς μου, εκτός του ότι είναι πολύ αργή.
Τώρα, ξέρω το σωστό πράγμα που κάνει σε μακροπρόθεσμη βάση είναι να δημιουργήσει το κύτταρο εξ ολοκλήρου στον κώδικα, και να χρησιμοποιούν μια ενιαία εικόνα, και ούτω καθεξής. Αλλά αυτό είναι ένα πρωτότυπο, και δεν θέλω να θέσω πολλή προσπάθεια σε αυτό.
Προς το παρόν, θα ήμουν ευτυχής αν διάβαζα την μύτη μόνο μία φορά στην UIViewControllerυποκατηγορία, τότε tableView:cellForRowAtIndexPath:γίνονται αντίγραφα από αυτό. Η υπόθεσή μου είναι ότι η αντιγραφή θα είναι ταχύτερη από την ανάγνωση της μύτης.
Εδώ είναι αυτό που μπορώ να χρησιμοποιήσω για να φορτώσει την μύτη, την οποία καλώ από viewDidLoad:(και retainμετά)
-(id)loadFromNamed:(NSString*)name {
NSArray *objectsInNib = [[NSBundle mainBundle] loadNibNamed:name
owner:self
options:nil];
assert( objectsInNib.count == 1 );
return [objectsInNib objectAtIndex:0];
}
Όλα είναι καλά μέχρι στιγμής. Αλλά το ερώτημα είναι: Πώς μπορώ να αντιγράψω αυτό ξανά και ξανά; Είναι ακόμη δυνατό;
Προσπάθησα [_cachedObject copy]και [_cachedObject mutableCopy]όμως UITableViewCellδεν υποστηρίζει είτε το πρωτόκολλο αντίγραφο.
Αν έχω να, μπορώ να τους πω απλά να αγνοήσει την ταχύτητα μέχρι να είμαι έτοιμος για να αφαιρέσετε την μύτη εντελώς, αλλά θα προτιμούσα να πάρει αυτό που πηγαίνει λίγο πιο γρήγορα, αν υπάρχει μια χαμηλού κρέμεται φρούτα εδώ.
Καμιά ιδέα?













