Variabele uit andere class halen
Hallo,
In Class 1 heb een tableview staan. In didSelectRowAtIndexPath: krijgt een NSString variabele (v1) een waarde, afhankelijk van welke table row geselecteerd is. Nadat v1 een waarde heeft gekregen, wordt er een nieuwe viewcontroller (uit Class 2) op het scherm gepresenteerd. Nu wil ik dat Class 2 variabele v1 uit class 1 haalt om er vervolgens iets mee te gaan doen. Hoe benader ik een variabele uit een andere class? Class 1: Code:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
Je geeft die variabele mee aan class2:
Code:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
THANKS! Het werkt :)
|
Tip: zou wel op je memory management letten.
In dit geval zou ik NSString *v1 = [eenArray objectAtIndex:indexPath.row]; doen, ipv alloc init gebruiken. Of [v1 release]; nadat je je setter hebt gebruikt. |
Inderdaad, je kunt jezelf in de nesten werken wat betreft het geheugenmanagement.
Voor het uitwisselen van data op schermen gebruik ik altijd een singleton object. Dat kun je zien als een soort klasse met globale variabelen ('t is verpakt als singleton geen vies woord ;) ), en is superhandig EN overzichtelijk. |
Als je wat verder zoekt is (bij verkeerd gebruik) een singleton wel een vies woord (ik vind toepassing van een singleton in dit voorbeeld verkeerd gebruik...).
Het voorbeeld van Hollance is (met een kleine wijziging) toch prima? De regel: Code:
v1 = [[NSString alloc] init]; Dus: Code:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
Alle tijden zijn GMT +2. Het is nu 00:23. |