Utilizzando storyboard, celle statiche, in cellForRowAtIndexPath:
lineacellule Storyboard statiche: dequeueReusableCellWithIdentifier restituisce nil
UITableViewCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
restituisce sempre nil
.
Ho controllato il seguente:
- identificatore della cella è impostato correttamente in IB/Storyboard e io uso lo stesso identificatore nel codice. L'ho verificato molte volte.
- Non ho istanziato il controller di visualizzazione altrove (che era il problema in this stackoverflow question).
mio controller di vista è una sottoclasse di UITableViewController
, ovviamente, avvolto in un apposito regolatore navigazione in storyboard. Sospettando che il mio controller di visualizzazione non sia in qualche modo a conoscenza degli identificatori di cella definiti nello storyboard perché potrebbe essere un'altra istanza, ecco il codice che lo "istanzia". In prepareForSegue:
, io uso
CustomViewController *vc = [[[segue destinationViewController]
viewControllers] objectAtIndex:0];
Altre personalizzazioni del controller della vista fatto qui (impostazione delle proprietà, ecc) funziona bene.
Sto utilizzando celle statiche perché il numero di sezioni e righe non cambia e ogni cella contiene testo statico (e altri controlli o campi di testo da modificare).
Mi sembra un'attività molto comune (personalizzare le celle statiche dallo storyboard nei metodi dell'origine dati del controller di visualizzazione). Che cosa sto facendo di sbagliato?
Dovrete mostrarci dove effettivamente gestite la creazione della vostra cella personalizzata. Questa è la parte importante. – borrrden
Creo la cella personalizzata nello storyboard. Digita "Custom" e il suo identificatore di cella. Non funziona così? – Mundi
Ho perso l'intera parte statica. Le celle statiche sono progettate interamente nello storyboard. vedi la parte 2 di questo eccellente tutorial www.raywenderlich.com/5191/beginning-storyboards-in-ios-5-part-2 – borrrden