Scope van een String

Scope van een String discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Dag, Ik ben net begonnen met het leren programmeren van iPhone apps. Nu ben ik wat aan het oefenen met een app welke meerdere views ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 14 January 2011, 16:49
» iPhone 4 16GB (Wit) [FW: 4.3.3]  [Jailbreak: Nee]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 8 October 2008
Berichten: 69
Standaard Scope van een String

Dag,

Ik ben net begonnen met het leren programmeren van iPhone apps. Nu ben ik wat aan het oefenen met een app welke meerdere views heeft (vanuit de tabbar). Mijn vraag is nu hoe ik een stringwaarde uit view1 mee kan geven naar view 2 of view 3.

Kan iemand me helpen?

JeePeeS
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 14 January 2011, 18:14
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Als je correct programmeert volgens de Cocoa design patterns, moet je eigenlijk geen data doorgeven van viewcontroller naar viewcontroller (uitzondering zijn uinavigationcontroller en modalviewcontroller). Op die manier raken de viewcontrollers afhankelijk van elkaar.
Het beste is programmeren via de Model-View-Controller principe. Dit houdt in dat je eigenlijk de stringwaarde moet hebben in je model of appdelegate.
Je kan het ook opslaan als key in NSUserdefaults en zo data doorgeven.

Maar goed om het simpel te houden het volgende:

Je kan de stringwaarde doorgeven aan de stringwaarde van je volgende view, via een NSString property.
Je declareert in view 2

Code:
NSString *string;
met als property:

Code:
@property (copy) NSString *string;
Daarna kan je in view1 de data zo doorgeven:

Code:
view2.string = @"Hier je stringwaarde";
of:

Code:
view2.string = self.string;
of vanuit een uitextfield:

Code:
view2.string = self.textField.text;
Niet vergeten view1.h te importeren in view2.m.
__________________
iPod touch v3 - iPod Nano 2011 - iMac 27" - iPhone 4S - iPad 2 - MacBook Air 11,6"
  #3  
Oud 14 January 2011, 18:23
» iPhone 4 16GB (Wit) [FW: 4.3.3]  [Jailbreak: Nee]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 8 October 2008
Berichten: 69
Standaard

Dank je. Ik heb een app en in een viewcontroller (instellingen) wil ik de user een datum laten selecteren. In view 1 wil ik de geselecteerde datum gebruiken voor een berekening. In view 2 wil ik de datum ook weer gebruiken.

Welke methode is nu het handigst?
  #4  
Oud 14 January 2011, 18:35
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Als je een gebruiker iets wil laten instellen, dan is het handig als de data wordt opgeslagen. Het makkelijkst is via NSUserdefaults.

Er van uitgaande dat je een UIDatePicker gebruikt om de datum te selecteren (genaamd datepicker) doe je dit in je instellingen viewcontroller:

Code:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:datepicker.date forKey:"dateKey"];
In de view1 en view2 haal je zo de opgeslagen datum terug:

Code:
NSDate *chosenDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"dateKey"];
  #5  
Oud 14 January 2011, 18:43
» iPhone 4 16GB (Wit) [FW: 4.3.3]  [Jailbreak: Nee]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 8 October 2008
Berichten: 69
Standaard

Dank je. Dit is exact wat ik nodig had.
Reageren


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
String onthouden sukk1e Ontwikkelen voor iOS 10 23 May 2010 14:21
iPhone: firmware error string mimarron Jailbreak 10 22 November 2009 00:34
Simpele vraag: String + mainTextField.text JWVD Ontwikkelen voor iOS 4 16 September 2008 17:00

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 00:26.