Download Apps programmieren für iPhone und iPad - beck

Transcript
3
Views und Viewcontroller
Punkt Outlet Collection aus. In das Textfeld schreiben Sie clockViews. Nach
einem Klick auf den Connect-Button legt Xcode eine Property mit dem Typ NSArray
an und fügt eine Markierung IBOutletCollection(ClockView) vor der Deklaration des
Typs ein. Die Deklaration in der Headerdatei sieht so aus:
@property (retain, nonatomic) IBOutletCollection(ClockView) ð
NSArray *clockViews;
Außerdem hat Xcode die Implementierungsdatei verändert. Sie können jetzt der
Outlet-Collection beliebig viele Clockviews zuweisen, indem Sie Gummibänder von
den Views zu dieser Property-Deklaration ziehen. Der Makroparameter ClockView in
der Deklaration schränkt im Interface Builder die möglichen Objekte für die Zuweisung auf die Klasse ClockView ein. Durch diesen Verbindungstyp können Sie jetzt
zum Starten und Stoppen der Uhren eine Schleife verwenden:
- (void)viewDidAppear:(BOOL)inAnimated {
[super viewDidAppear:inAnimated];
for(ClockView *theView in self.clockViews) {
[theView startAnimation];
}
}
- (void)viewWillDisappear:(BOOL)inAnimated {
for(ClockView *theView in self.clockViews) {
[theView stopAnimation];
}
[super viewWillDisappear:inAnimated];
}
Listing 3.19 Starten und Stoppen der Uhren über eine Outlet-Collection
Der Verbindungsinspektor zeigt Ihnen die Outlet-Collections des Objekts in einer
eigenen Rubrik an (siehe Abbildung 3.20), und Sie können einzelne Verbindungen
durch einen Klick auf das x-Kreuzchen vor der Verbindung wieder lösen.
Abbildung 3.20 Outlet-Collections im Verbindungsinspektor
232