Если вы хотите стать по-настоящему модным, вы можете создать делегата для вашего дочернего представления.
@protocol MyChildViewDelegate
- (NSArray*)getStringsForMyChildView:(MyChildView*)childView;
@end
@interface MyChildView : UIView
{
id <MyChildViewDelegate> delegate;
...
}
@property (nonatomic, assign) id <MyChildViewDelegate> delegate;
...
@end
Тогда где-то в вашем представлении вы попросите строки:
- (void)viewDidLoad
{
...
NSArray* strings = [delegate getStringsForMyChildView:self];
...
}
Затем в вашем контроллере (или где-либо еще) вы можете сделать:
myChildView = [[MyChildView alloc] initWith....];
myChildView.delegate = self;
...
- (NSArray*)getStringsForMyChildView:(MyChildView*)childView
{
return [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
}
В этом случае это, вероятно, немного излишне, но это то, как это делают и UITableView: у них есть делегат источника данных для их предоставленияс их содержанием.