Variabele uit andere class halen discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) 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 ...
|
Registreer | FAQ | Ledenlijst | Kalender | Zoeken | Berichten van vandaag | Markeer forums als gelezen |
#1
|
|||
|
|||
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 { if(indexPath.section == 1){ v1 = [[NSString alloc] init]; v1 = [eenArray objectAtIndex:indexPath.row]; [self.navigationController pushViewController:class2 animated:YES]; } } |
|
|
Gesponsorde links (verdwijnt na registratie)
|
#2
|
|||
|
|||
Je geeft die variabele mee aan class2:
Code:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if(indexPath.section == 1){ v1 = [[NSString alloc] init]; v1 = [eenArray objectAtIndex:indexPath.row]; class2.v = v1; // of met een method: [class setV:v1]; [self.navigationController pushViewController:class2 animated:YES]; } } |
#3
|
|||
|
|||
THANKS! Het werkt
|
#4
|
||||
|
||||
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.
__________________
iPod touch v3 - iPod Nano 2011 - iMac 27" - iPhone 4S - iPad 2 - MacBook Air 11,6" |
#5
|
|||
|
|||
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.
__________________
iPhone/iPad ontwikkelaar http://www.ddq.nl Laatst gewijzigd door nop; 04-04-11 om 20:05. |
#6
|
|||
|
|||
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 { if(indexPath.section == 1){ NSString * v1 = [eenArray objectAtIndex:indexPath.row]; [class2 setV:v1]; [self.navigationController pushViewController:class2 animated:YES]; } }
__________________
Leon [iPhone- en Java ontwikkelaar] Laatst gewijzigd door wubbe; 12-04-11 om 14:46. |
Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten) |
|
Discussietools | |
Weergave | |
Soortgelijke discussies |
||||
Discussie | Auteur | Forum | Reacties | Laatste bericht |
Films uit iTunes halen | Bossie14 | iTunes | 4 | 08-03-12 20:37 |
Contacten uit reservekopie halen | Schepe | iPhone algemeen | 4 | 28-03-10 23:13 |
UILabel updaten vanuit andere class | Niels2678 | Ontwikkelen voor iOS | 18 | 05-10-09 12:42 |
iphone 3G uit usa halen? | stultus | Archief | 14 | 13-07-08 12:27 |
Iphone uit de VS halen | Thomas1990 | Archief | 3 | 20-02-08 21:14 |
|
|