iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   String onthouden (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/59683-string-onthouden.html)

sukk1e 14-05-10 09:33

String onthouden
 
Hoe kan ik een soort public/session maken zodat een string die in de delegate wordt aangeroepen weer aangeroepen kan worden in een viewcontroller?

of gewoon in 1 controller iets aanroepen en dat doorsturen naar een andere controller.

TUX2K 14-05-10 09:56

Singleton maken waar je de string in bewaard, of gewoon in delegate opslaan en die weer opvragen in de viewcontroller?

sukk1e 14-05-10 15:30

Dank je, Singleton did the job

wubbe 14-05-10 15:40

Nou, of je daar nou een singleton voor moet gebruiken.

De delegate heeft toch een referentie naar de ViewController? Dan kun je in de delegate toch een string van de controller benaderen?

TUX2K 14-05-10 15:54

De singleton was meer een voorbeeld.
Maar in wat wubbe zegt, gewoon in je AppDelegate.

wubbe 14-05-10 15:59

Je AppDelegate is een Singleton (en heb je ook niet nodig)
Je bent nu een globale variabele aan het maken, en da's niet wat de vraag was.

sukk1e 17-05-10 10:41

Naja echt global hoeft ook niet te zijn maar het moet zijn dat als de app geladen wordt dat er gelijk een connectie wordt gemaakt waar informatie uit gehaald word.
Deze pleurt ie dan in een Tabel waar mensen moeten kunnen verder klikken en daarna moet een andere method aangeroepen worden waar informatie uit komt.

En de gegeven die ik doorkrijg worden altijd weergegeven als null. Terwijl de waarde in de implementation wordt weergegeven alleen dus niet doorgegeven.

EDIT:
Tenminste met normale strings lukt het wel , maar in mijn delegate wordt action opgeroepen.
[service GetCategories: self action: @selector(handleGetCategories:)];
deze void roept hij aan en slaat het op maar buiten deze void issie alles vergeten. null dus.

sukk1e 18-05-10 13:38

hmmm , ik zie het al.

Hoe kan het dat mijn void zo laat pas uitgevoerd wordt/ gegevens terug geeft? Ik heb met NSLogs gekeken maar hij logt het helemaal als laatste.

actie in delegate na het finishloading

[service GetCategories: self action: @selector(handleGetCategories:)];


Void die aangeroepen wordt
- (void)handleGetCategories: (id) value


bij gewone voids als ik test met bijvoorbeeld het onderstaand dat voert hij het wel gelijk uit.
[self handleGetCategories];
-(void)handleGetCategories

Whacko 18-05-10 14:00

Ik weet niet wat voor object "service" is. maar je geeft een selector mee. Meestal is dat omdat het een Callback functie betreft, die aangeroepen wordt als de actie is uitgevoerd, om dan de data te verwerken. Erg logisch dus dat je functie helemaal op het eind wordt uitgevoerd.

sukk1e 18-05-10 16:22

Citaat:

Oorspronkelijk geplaatst door Whacko (Bericht 453655)
Ik weet niet wat voor object "service" is. maar je geeft een selector mee. Meestal is dat omdat het een Callback functie betreft, die aangeroepen wordt als de actie is uitgevoerd, om dan de data te verwerken. Erg logisch dus dat je functie helemaal op het eind wordt uitgevoerd.

service is de interface definities van classes en methodes voor een webservice.

ik wil het gelijk dat het bij de onload wordt aangeroepen zodat er daarna met de code een tableview kan worden opgebouwd.

Zonder selector doettie precies hetzelfde?
SBLocations* service = [[SBLocations alloc] init];
[service GetCategories: self];

- (void)onload: (id) value {
}

Wunk 23-05-10 13:21

Setting global variables <-- kleine howto om globale variabelen op te geven die je vanuit alle controllers kunt aanspreken.


Alle tijden zijn GMT +2. Het is nu 06:07.