how to get all UILabels within a UIView
ios, objective-c, subviews, uilabel, uiview
Solution
Create an `NSArray` ivar which you can add all the `UILabel`'s to.
If you do it in code then as you create the `UILabel` just do
NSMutableArray *labels = [[NSMutableArray alloc] init];
// Repeat this for al labels
UILabel *label = [[UILabel alloc] in...
[labels addObject:label];
// Then
self.labels = [labels copy];
If you use IB the declare your property like this
@property (nonatomic, strong) IBOutletCollection(UILabel) NSArray *labels;
and connect all the labels up to this.
Problem
I need a way to get all `UILabel`s within a `UIView` without having to go through all the views within the `UIView`. I have many other type of views, `UIButton`s, `UIImageView`s and it would be too long to go through all of them when I just need the `UILabel`s. I'm trying to avoid something like this: ``` for (UIView *view in myView.subviews) { if([view isKindOfClass:[UILabel class]]) { UILabel *lbl = (UILabel*)view; } } ``` Is it possible or am I dreaming?