Предположим, у меня есть приложение iOS и представление
HeaderView.h
@interface HeaderView : UIView
@end
И файл реализации
HeaderView.m
@interface HeaderView ()
@property (strong, nonatomic) UIButton *leftButton;
@property (strong, nonatomic) UILabel *centeredLabel;
@propert (strong, nonatomic) NSString *someStringFromTheServer; // Gets fetched first thing from server in async operation.
@end
@implementation HeaderView
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self runAsyncOperationToFetchDataFromServerAndThenSetupSubViews]
}
return self;
}
- (void)runAsyncOperationToFetchDataFromServerAndThenSetupSubViews {
/// async call to server that sets someStringFromTheServer field.
// now call the callback after async server fetch is done
[self callBackToSetupSubViewsNow];
}
- (void)callBackToSetupSubViewsNow {
centeredLabel = ... //alloc and initialize
[centeredLabel setText:someStringFromTheServer]; // setText:someStringFromTheServer will be correct and filled from server.
// add label into the main view "self"
[self addSubView:centeredLabel];
}
@end
Я новичок в iOS и мне интересно, правильно ли это? Основная проблема заключается в том, что я сначала выполняю серверный вызов, а затем настраиваю подпредставления.
Это правильно или должен быть порядок
1) Настройка subivews, allo c все метки, кнопки, но установите все как скрытые 2) вызов runServer, а затем измените уже добавленные подпредставления из (1), измените текст и т. д. 3) Показать подпредставления (метка, кнопка и т. д. c)
Каков правильный подход?
- Вызов сервера, затем инициализация / заполнение / настройка подпредставлений
ИЛИ
- инициализация / скрытие подпредставлений, затем вызов сервера, затем заполнение / установка подпредставлений и показать