Настроить подпредставления до или после асин c выборки данных? - PullRequest
0 голосов
/ 07 апреля 2020

Предположим, у меня есть приложение 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)

Каков правильный подход?

  • Вызов сервера, затем инициализация / заполнение / настройка подпредставлений

ИЛИ

  • инициализация / скрытие подпредставлений, затем вызов сервера, затем заполнение / установка подпредставлений и показать
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...