NSString bepalen vanuit een andere view

NSString bepalen vanuit een andere view discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Dag allemaal! Ben druk bezig met de iPhone SDK en heb weer een vraag. Ik heb een View-Based-application waarin ik de standaard ViewController .h en ...



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 21 October 2009, 12:16
Jelle Ages's schermafbeelding
» iPhone 4 16GB (Zwart) [FW: 5.0 Beta]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 64GB [FW: 5.0 Beta]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 2 March 2008
Berichten: 115
Standaard NSString bepalen vanuit een andere view

Dag allemaal!

Ben druk bezig met de iPhone SDK en heb weer een vraag. Ik heb een View-Based-application waarin ik de standaard ViewController .h en .m gebruik voor mijn MainView. Ik heb ook nog een view + viewController gemaakt aan de hand van deze tutorial.
Nu wil ik vanuit die tweede (Second View) d.m.v. een TextField, een NSString, die gemaakt is in de MainViewController, laten wijzigen. Dit wil ik dan weer in de MainViewController kunnen oproepen.
Hoe moet ik dit doen?

Jelle
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 22 October 2009, 15:00
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Het kan op meerdere manieren. Hier kan je een aantal van die manieren zien.
  #3  
Oud 22 October 2009, 16:13
Jelle Ages's schermafbeelding
» iPhone 4 16GB (Zwart) [FW: 5.0 Beta]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 64GB [FW: 5.0 Beta]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 2 March 2008
Berichten: 115
Standaard

Bedankt, maar eerlijk gezegd word ik hier (als beginnende developer) niet erg wijzer van.
Ik heb dus een standaard view, die bediend wordt door een viewController. Nu heb ik een tweede view, die ik laat zien door de code:
Code:
[self presentModalViewController:secondView animated:YES];
Dit werkt allemaal. Nu wil ik deze view gebruiken als een soort scherm om een aantal instellingen te bepalen voor de MainView. Hierin heb ik bijvoorbeeld twee UITextFields die ik gebruik als Username en Password-veld. Als ik dan op een UIButton klik, gaat de applicatie terug naar de MainView. Ik wil dan ook de tekst, die de gebruiker heeft ingevoerd op het instellingen-scherm, gebruiken.
Is het mogelijk om met een simpele code, de UITextFields die in het instellingen-scherm staan, te gebruiken in de MainView?

Alvast bedankt!

Jelle
  #4  
Oud 22 October 2009, 17:16
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Als je dat wilt doen is het makkelijkste om de secondView de instellingen te laten bewaren en dan in de viewWillAppear van je rootView de instellingen op te halen en weer te geven. Als je meer hulp nodig hebt hoor ik het wel.
  #5  
Oud 23 October 2009, 11:56
Jelle Ages's schermafbeelding
» iPhone 4 16GB (Zwart) [FW: 5.0 Beta]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 64GB [FW: 5.0 Beta]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 2 March 2008
Berichten: 115
Standaard

Ik snap wat je ongeveer bedoelt, maar ik ben nog niet zolang bezig met Objective C. Mijn vraag is dan ook: welke code heb ik nodig om die instellingen te bewaren en op te halen? Is dit makkelijk?

Jelle
  #6  
Oud 23 October 2009, 13:46
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Ik dacht dat je de code daarvoor al had, omdat je zei dat het een instellingen scherm is en instellingen wil je natuurlijk niet elke keer opnieuw bewaren. Het gaat er nu om wat je wilt doen: een instellingen scherm maken dat je maar n keer hoeft te openen en dat je instellingen bewaart, zodat je het de volgende dat je opstart ook hebt, of een scherm maken dat je elke keer dat je opstart opnieuw moet invullen. Welke van die twee wil jij?
  #7  
Oud 23 October 2009, 17:13
Jelle Ages's schermafbeelding
» iPhone 4 16GB (Zwart) [FW: 5.0 Beta]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 64GB [FW: 5.0 Beta]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 2 March 2008
Berichten: 115
Standaard

Fijn dat je het zegt, want ik was er zelf nog niet opgekomen ! Ik zou inderdaad graag willen weten hoe ik de instellingen kan opslaan, zodat ik deze niet elke keer hoef in te laten vullen. Maar hoe doe ik dat? Vereist dat veel kennis, of is er een simpele code om dit te doen?

Jelle
  #8  
Oud 23 October 2009, 17:56
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Ik weet het niet precies. Ik heb het zelf nog nooit gebruikt. Hier is een document waar je daar wat informatie over kan vinden. Het zoek er niet al te moeilijk uit. Ik zou er gewoon wat mee proberen.

Heb ophalen en weergeven van je data moet je dan in de viewWillAppear method doen.
  #9  
Oud 24 October 2009, 10:33
» iPhone 4S 16GB (Zwart) [FW: 5.0.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 26 January 2009
Berichten: 113
Standaard

Inderdaad een beetje een vaag verhaal maar als data tussen twee views kan met de gebruikelijke:
- Delegate method (Met deze methode kan je de NSString van de andere view direct aanroepen)
- NSNotification Center

Of je kan de pointer van de NSString doorsturen en die door de Second View laten aanpassen. Genoeg mogelijkheden in ieder geval.

Wat betreft het opslaan van instellingen, daarvoor kan je een SQLiteDatabase gebruiken: CrystalMinds’ SQLiteDatabase Library CrystalMinds

Code:
    //1. Maak een Tabel aan
    [[CMSQLiteDatabase sharedDatabase] insertTable:@"config"];
    
    //2. Maak de variabel aan
    [[CMSQLiteDatabase sharedDatabase] insertColumns:[NSDictionary dictionaryWithObject:CMSQLiteDatabaseDataTypeString forKey:@"username"] intoTable:@"config"];
    [[CMSQLiteDatabase sharedDatabase] insertRow:nil intoTable:@"config"];
    
    //3. Zet de waaarde van de variabel
    [[CMSQLiteDatabase sharedDatabase] updateRowWithValues:[NSDictionary dictionaryWithObject:@"jellepelle1234" forKey:@"username"] inTable:@"config"];
    
    //4. Pak de waarde uit de database
    NSString *username = [[CMSQLiteDatabase sharedDatabase] variableForQuery:@"SELECT username FROM config" column:@"username" rowOffset:0];
Voor een configuratie is het gebruikelijker om NSUserDefaults te gebruiken zie:
Mac Dev Center: NSUserDefaults Class Reference
  #10  
Oud 24 October 2009, 16:02
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Hij hoeft de data niet de sharen tussen twee views. Hij wil instellingen opslaan. Dat kan natuurlijk d.m.v. SQLite, maar dat is daarvoor zwaar overkill en het zorgt voor een snelheidsverlies. Jouw library is daarvoor ook zwaar overkill. Ik zou de manier gebruiken waar ik in mijn vorige bericht naar gelinkt heb. Het zorgt uiteindelijke voor een betere/snellere oplossing. Als het niet lukt willen de mensen hier je wel helpen.
  #11  
Oud 24 October 2009, 16:39
» iPhone 4S 16GB (Zwart) [FW: 5.0.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 26 January 2009
Berichten: 113
Standaard

Klopt, daarom zei ik ook
Citaat:
Voor een configuratie is het gebruikelijker om NSUserDefaults te gebruiken zie:
Mac Dev Center: NSUserDefaults Class Reference
Maar ik zie nu dat ik een bericht overzien heb waarin jij daar ook naar verwijst dus we denken iig hetzelfde

En SQLite is eigenlijk ook alleen maar praktisch als je data hebt die je wilt kunnen sorteren. Zoals een database voor cocktails waarin je een query kan gebruiken om alle cocktails eruit te halen waarin Safari zit bijv.
  #12  
Oud 24 October 2009, 17:57
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Sorry, ik heb over die laatste regel van jou heen gelezen. Ik ben het dan helemaal met jou eens.
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
2 agendas 1 view hoe kopieren van items van een naar andere andrepen iTunes 1 23 August 2010 20:52
UILabel updaten vanuit andere class Niels2678 Ontwikkelen voor iOS 18 5 October 2009 11:42
toegang array vanuit andere klasse ulquiorra Ontwikkelen voor iOS 19 6 July 2009 20:33
UINavigationBar laten blijven bij andere view jonathan Ontwikkelen voor iOS 0 29 June 2009 12:18
Route bepalen met google maps in een app TinusOZ Ontwikkelen voor iOS 5 13 October 2008 10:40

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 14:11.