//

UILabel updaten vanuit andere class

UILabel updaten vanuit andere class discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Beste iPhonecluppers, Nog steeds probeer ik mijn kennis te vergroten op iPhone gebied. Ik heb nu mijn eerste iPhoneApp gemaakt. Nu wil ik graag op ...



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 28-09-09, 15:15
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard UILabel updaten vanuit andere class

Beste iPhonecluppers,

Nog steeds probeer ik mijn kennis te vergroten op iPhone gebied. Ik heb nu mijn eerste iPhoneApp gemaakt. Nu wil ik graag op het tweede view (Tab Bar) de instellingen bepalen. Nu heb ik 2 UITextFields gemaakt op het tweede view en wanneer er op een button wordt er een functie uitgevoerd die doorlinkt naar een ander functie op de MainView.m .. Deze functie zou dus de waardes van de textlabels moeten updaten.

Hieronder een versimpeld voorbeeld:

FirstViewController . h
@interface ... {

IBOutlet UILabel *label1;
IBOutlet UILabel *label2;

}

@property (nonatomic, retain) IBOutlet UILabel *label1;
@property (nonatomic, retain) IBOutlet UILabel *label2;

FirstViewController . m
+ (void) defLabels: (NSString *) naamLabel1: (NSString *) naamLabel2 {

[label1 setText:[NSString stringWithFormat:@"%@", naamThuis]];
[label2 setText:[NSString stringWithFormat:@"%@", naamUit]];

}

SecondViewController . h
@interface ... {
UITextField *inputVeld1;
UITextField *inputVeld2;
}

- (IBAction) stelLabelsIn: (id) sender;

SecondViewController . m

- (IBAction) stelLabelsIn: (id) sender {

[FirstViewController defLabels: [NSString stringWithFormat:@"%@", [inputVeld1 text]]:[NSString stringWithFormat:@"%@", [inputVeld2 text]]];

}

Ik hoop dat ik dit duidelijk genoeg heb uitgelegd en dat iemand mij wil en kan helpen!
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 28-09-09, 18:26
Matisse Matisse is offline
• iOS 5.0 Beta
• 5.0 Beta
• Besturingssysteem: Mac OS X
 
Geregistreerd: Aug 2008
Locatie: Antwerpen
Berichten: 89
Standaard

Je probeert in een class method (defLabels) instance variables (label1 en label2) te wijzigen. Dit kan niet. Verander de "+" bij defLabels eens in een "-".
  #3  
Oud 28-09-09, 22:05
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Citaat:
Oorspronkelijk geplaatst door Matisse Bekijk bericht
Je probeert in een class method (defLabels) instance variables (label1 en label2) te wijzigen. Dit kan niet. Verander de "+" bij defLabels eens in een "-".
Ik heb dit geprobeerd maar dit wil ook niet baten. Hij zegt dan dat de 'FirstViewController' waarschijnlijk defLabels niet zal herkennen. Is r misschien een andere oplossing?
  #4  
Oud 28-09-09, 22:41
gekkepietje gekkepietje is offline
• iOS 4.1
• Besturingssysteem: Windows
 
Geregistreerd: Sep 2008
Berichten: 153
Standaard

Je moet defLabels wel in de interface zetten van FirstViewController, anders snapt een andere class niet dat die functie bestaat.
  #5  
Oud 28-09-09, 23:24
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Citaat:
Oorspronkelijk geplaatst door gekkepietje Bekijk bericht
Je moet defLabels wel in de interface zetten van FirstViewController, anders snapt een andere class niet dat die functie bestaat.
ja dit heb ik ook geprobeerd. Met een'-' en een '+' maar bij beide werkt het niet!

Weet iemand toevallig een tutorial te vinden waar wordt uitgelegt hoe het werkt om variablen via een externe class aan te passen? Of een plek waar ik een werkend voorbeeld kan vinden van dit?
  #6  
Oud 29-09-09, 07:44
JWVD's schermafbeelding
JWVD JWVD is offline
• iOS 5.0
• 5.0
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jul 2008
Locatie: Renkum
Berichten: 312
Stuur een bericht via Instant Messenger naar JWVD Stuur een bericht via MSN naar JWVD
Standaard

Je kan ook je class tijdelijk aanmaken binnen je andere class en dan gewoon de functie uitvoeren (of meteen de variabelen wijzigen).

Code:
PlayerViewController *pvController = [[PlayerViewController alloc] init];
pvController.variable = @"Hoi";
[pvController functie]; //Je kan ook een functie gebruiken
[pvController release];
Of is dat te omslachtig?
  #7  
Oud 29-09-09, 12:47
mutsop mutsop is offline
• iOS 3.0.1
• Besturingssysteem: Windows
 
Geregistreerd: Aug 2009
Berichten: 57
Standaard

Kan je niet gewoon met delegates werken en de parameters meegeven?
Of begrijp ik je volledig verkeerd
  #8  
Oud 29-09-09, 13:29
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Citaat:
Oorspronkelijk geplaatst door JWVD Bekijk bericht
Je kan ook je class tijdelijk aanmaken binnen je andere class en dan gewoon de functie uitvoeren (of meteen de variabelen wijzigen).

Code:
PlayerViewController *pvController = [[PlayerViewController alloc] init];
pvController.variable = @"Hoi";
[pvController functie]; //Je kan ook een functie gebruiken
[pvController release];
Of is dat te omslachtig?
Ik heb dit geprobeerd, het veroorzaakt geen waarschuwing of foutmelding. Maar het werkt ook niet? Misschien zien we iets kleins over het hoofd?

Citaat:
Oorspronkelijk geplaatst door mutsop Bekijk bericht
Kan je niet gewoon met delegates werken en de parameters meegeven?
Of begrijp ik je volledig verkeerd
Dit zegt mij niet zo veel, kan je misschien een voorbeeld geven?
  #9  
Oud 29-09-09, 14:00
mutsop mutsop is offline
• iOS 3.0.1
• Besturingssysteem: Windows
 
Geregistreerd: Aug 2009
Berichten: 57
Standaard

Wel met delegates kunt ge pointers naar functies gaan stockeren in een delegatevariabele. Waardoor je eigenlijk, zoals je zelf wilt, een functie oproepen die doorlinkt naar een ander functie.

Hoe dit werkt in objectif C weet ik niet echt. Ik gebruik ze enkel bij .net.
  #10  
Oud 29-09-09, 14:25
danielpunt's schermafbeelding
danielpunt danielpunt is offline
• iOS 4.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Dec 2007
Locatie: Vlaardingen
Berichten: 87
Standaard

hoe bekend ben je met Cocoa als delegates je niks zeggen?
  #11  
Oud 29-09-09, 14:31
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Citaat:
Oorspronkelijk geplaatst door danielpunt Bekijk bericht
hoe bekend ben je met Cocoa als delegates je niks zeggen?
Nog niet zo heel erg, ik heb het boek 'Programming in Objective-C 2.0' gelezen, hier werd niet heel erg in gegaan op Cacoa. Zo te horen is dit dus wel erg van belang. Dan hoop ik of iemand een boek (het liefst nl) kan aanraden waardoor dit een stuk duidelijker wordt?
  #12  
Oud 30-09-09, 07:23
JWVD's schermafbeelding
JWVD JWVD is offline
• iOS 5.0
• 5.0
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jul 2008
Locatie: Renkum
Berichten: 312
Stuur een bericht via Instant Messenger naar JWVD Stuur een bericht via MSN naar JWVD
Standaard

Citaat:
Oorspronkelijk geplaatst door Niels2678 Bekijk bericht
Ik heb dit geprobeerd, het veroorzaakt geen waarschuwing of foutmelding. Maar het werkt ook niet? Misschien zien we iets kleins over het hoofd?
Wat had je precies geprobeerd?
  #13  
Oud 30-09-09, 11:15
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Citaat:
Oorspronkelijk geplaatst door JWVD Bekijk bericht
Wat had je precies geprobeerd?
Simpelweg dit:
Code:
- (IBAction) stelLabelsIn: (id) sender {
    
    FirstViewController *ClassA = [FirstViewController new];

    ClassA.label1.text = @"Moh!";
    [ClassA release];
    
}
  #14  
Oud 30-09-09, 21:35
JWVD's schermafbeelding
JWVD JWVD is offline
• iOS 5.0
• 5.0
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jul 2008
Locatie: Renkum
Berichten: 312
Stuur een bericht via Instant Messenger naar JWVD Stuur een bericht via MSN naar JWVD
Standaard

Citaat:
Oorspronkelijk geplaatst door Niels2678 Bekijk bericht
Simpelweg dit:
Code:
- (IBAction) stelLabelsIn: (id) sender {
    
    FirstViewController *ClassA = [FirstViewController new];

    ClassA.label1.text = @"Moh!";
    [ClassA release];
    
}
Je moet wel [[FirstViewController alloc] init]; gebruiken

En gebruik [ClassA.label1 setText:@"Moh!"]; om de text te veranderen
  #15  
Oud 30-09-09, 22:41
gekkepietje gekkepietje is offline
• iOS 4.1
• Besturingssysteem: Windows
 
Geregistreerd: Sep 2008
Berichten: 153
Standaard

Citaat:
Oorspronkelijk geplaatst door JWVD Bekijk bericht
Je moet wel [[FirstViewController alloc] init]; gebruiken
Het lijkt me vrij zinloos om in dezelfde method FirstViewController te alloceren, een text te zetten, en de controller daarna weer te releasen. Waarschijnlijk heb je ergens al een instance van FirstViewController. Zorg dat je een pointer naar dat object hebt, en gebruik die pointer dan om te tekst aan te passen.

Citaat:
En gebruik [ClassA.label1 setText:@"Moh!"]; om de text te veranderen
Mwoah, als text een property is dan is label1.text = @"Moh!"; net zo goed.
  #16  
Oud 30-09-09, 22:45
JWVD's schermafbeelding
JWVD JWVD is offline
• iOS 5.0
• 5.0
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jul 2008
Locatie: Renkum
Berichten: 312
Stuur een bericht via Instant Messenger naar JWVD Stuur een bericht via MSN naar JWVD
Standaard

Citaat:
Oorspronkelijk geplaatst door gekkepietje Bekijk bericht
Het lijkt me vrij zinloos om in dezelfde method FirstViewController te alloceren, een text te zetten, en de controller daarna weer te releasen. Waarschijnlijk heb je ergens al een instance van FirstViewController. Zorg dat je een pointer naar dat object hebt, en gebruik die pointer dan om te tekst aan te passen.

Mwoah, als text een property is dan is label1.text = @"Moh!"; net zo goed.
Oh sorry, ben ook nog maar een Obj-C newbie.
  #17  
Oud 30-09-09, 23:38
gekkepietje gekkepietje is offline
• iOS 4.1
• Besturingssysteem: Windows
 
Geregistreerd: Sep 2008
Berichten: 153
Standaard

Citaat:
Oorspronkelijk geplaatst door JWVD Bekijk bericht
Oh sorry, ben ook nog maar een Obj-C newbie.
Daar hoef je je niet voor te verontschuldigen. ;-) Er is niks mis met een newbie zijn... we moeten het allemaal een keer leren.

Misschien is het handiger als Niels zijn volledige source code ergens uploadt, dan is het gemakkelijker om aan het geven hoe het wel moet. Ik heb namelijk het idee dat sommige basisconcepten nog niet helemaal duidelijk zijn.
  #18  
Oud 01-10-09, 09:57
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Ja ik kan inderdaad wel de hele source online gooien, was toch geen plan om dit echt te distrubeteren.

Het gehele project is hier te vinden. De bedoeling van de app is dat het de tijd en score bijhoudt van een wedstrijd. Op het tweede tab wilde ik de instellingen zetten, zoals de tijd en de teams die spelen. Ik hoop deze uitleg de app wat duidelijker maakt en dat iemand mij kan wijzen op de fouten die ik heb gemaakt.

Trouwens top, dat mensen blijven reageren en mij opweg willen helpen!!!
  #19  
Oud 05-10-09, 12:42
Niels2678 Niels2678 is offline
• iOS 4.0.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Jun 2009
Locatie: De Lier - Westland
Berichten: 17
Stuur een bericht via MSN naar Niels2678
Standaard

Haha nu heb ik mijn project gepubliceerd en dan reageerd er niemand meer. Is er toch nog iemand die een poging zou willen wagen, mij te helpen?
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
Variabele uit andere class halen DJ14 Ontwikkelen voor iOS 5 05-04-11 11:28
e-mailen vanuit andere app's gaat via Outbox (en niet rechtstreeks) ToastNL iPhone Apps 0 04-09-10 22:19
NSString bepalen vanuit een andere view Jelle Ages Ontwikkelen voor iOS 11 24-10-09 18:57
toegang array vanuit andere klasse ulquiorra Ontwikkelen voor iOS 19 06-07-09 21:33
Eerst updaten naar 1.1.2 of andere guide? jeltsinneckebroek Archief 2 19-11-07 22:05

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 16:10.