Ho un UITabBarController con più di 5 UITabBarItems quindi piùNavigationController è disponibile.Come ottenere il testo della cella basato su indexPath?
Nel mio UITabBarController Delegato faccio la seguente:
- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
{
//do some stuff
//...
UITableView *moreView = (UITableView *)self.tabBarController.moreNavigationController.topViewController.view;
moreView.delegate = self;
}
Voglio realizzare un UITableViewDelegate in modo da poter catturare la riga che è stata selezionata, impostare una proprietà visualizzazione personalizzata e quindi spingere il controller della vista:
- (void)tableView:(UITableView *)tblView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//how can I get the text of the cell here?
}
Ho bisogno di ottenere il testo di una cella quando l'utente tocca una riga. Come posso realizzare questo?
Perché è meglio mantenere una matrice di cella? – user592419
se si chiama nuovamente cellForRowAtIndexPath solo per acquisire la cella selezionata, non sarà necessario eseguire l'intera funzione e creare nuovamente una cella. Quale sarebbe la prestazione costosa rispetto alla memorizzazione della cella già creata nell'array –
Se si utilizza insertObject, la matrice sarà dappertutto in pochissimo tempo. I documenti dicono "Se l'indice è già occupato, gli oggetti all'indice e oltre vengono spostati aggiungendo 1 ai loro indici per creare spazio.". Quindi, quando cellForRowAtIndexPath viene chiamato una seconda volta (dopo lo scorrimento, forse) viene inserita la stessa cella ma l'originale e tutte le altre celle vengono spinte in avanti nell'array. – amergin