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/)
-   -   Fire event (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/82322-fire-event.html)

Robbee 13-01-11 20:47

Fire event
 
Ik ben bezig met een eerste app voor de iPhone.
In de app is een animatie die 2 textfields van plaats laat ruilen.
Dit gaat nu op een button op hetzelfde scherm, maar ik wil dat event starten zonder button, bijv op de uitkomst van een berekening.

Dus nu:

-(IBAction)buttonPressed { code }

moet worden :

-(void)switchPlace { code }

en hoe start ik dat dan zonder button.

Hoop dat het duidelijk is :p

iMidas 13-01-11 21:01

YouTube - iPhone SDK : Basic Animation

Dit is denk ik wat je bedoeld als je dan UIView verandered overal in UITextField moet het als het goed is werken!

Nikooos 13-01-11 21:12

[self switchplace];

Robbee 14-01-11 20:09

Citaat:

Oorspronkelijk geplaatst door psychonikeo (Bericht 627571)
[self switchplace];

Dat doet het wel, maar krijg met build een waarschuwing :

'ViewController' may not respond to '-switchPlace'

En ik heb een hekel aan waarschuwingen ;)

DrBob 15-01-11 11:41

Tja, soms moet je ook eens iets tikken in die .h files....

Nikooos 15-01-11 13:54

De functie ook even declareren in de .h inderdaad. Je vroeg alleen hoe je hem moest aanroepen en de functie had je al. Ik ging er dus vanuit dat je hem wel al gedeclareerd had.

Robbee 15-01-11 15:30

Weer wat geleerd, ben ook erg nieuw in dit taaltje.;)

wubbe 16-01-11 08:01

Een private method hoef je niet in de .h te declareren
Maak een @interface sectie in je .m file en declareer hem daar in (zal morgen een voorbeeldje posten)

wubbe 16-01-11 13:27

Private methods declareren
 
private methods declareer ik in de .m file:
Code:

@interface ExampleViewController (PrivateMethods)
- (void) switchplace;
@end

@implementation ExampleViewController

- (void) switchplace {
  // code voor switchplace 
}


Whacko 17-01-11 11:43

Volgens mij maakt dat hem niet private, maar alleen onzichtbaar.
@private gebruiken dus :)

wubbe 17-01-11 11:53

@private?
 
Citaat:

Oorspronkelijk geplaatst door Whacko (Bericht 629090)
@private gebruiken dus :)

Ik dacht dat @private alleen geldt voor variabelen, niet voor methods. Hoe is de syntax met gebruik van @private?

Whacko 17-01-11 13:52

oh sorry daar kan je weleens gelijk in hebben.

wubbe 17-01-11 13:58

Tsja, wel vreemd eigenlijk. Wel bij variabelen en niet bij methods.
Mijn methode was dus nog niet zo gek ;). Of zijn er betere/nettere manieren?

Als je trouwens de private method boven de regel zet waar die aangeroepen wordt, dan geeft de compiler ook geen warning meer. Maar dat vind ik zelf niet zo netjes.

Geno 17-01-11 22:17

Objective-C kent geen 'echte' private methods, wel private ivars. 'Private' methods in Objective-C zijn gewoon verborgen methods.

Ik declareer een private method op bijna dezelfde manier zoals wubbe het doet

Code:

@interface ExampleViewController()
- (void)switchplace;
@end

Ik maak dus eigenlijk een category zonder naam.

Maar goed, je moet je afvragen of private methods wel nodig zijn in Objective-C.


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