2015-11-09 6 views
0

У меня есть этот код в проекте tvOSremoveFromSuperview не

var loader: UIViewController! 

. , ,

override func viewDidLoad() { 
    super.viewDidLoad() 
    loader = storyboard!.instantiateViewControllerWithIdentifier("appLoader") 
     addChildViewController(loader) 
     view.addSubview(loader.view) 
     loader.didMoveToParentViewController(self) 
     getMovieData() 
} 

Он добавляет контроллер вида, как и ожидалось. Позже, когда я хочу, чтобы избавиться от Apploader

queryOperation.completionBlock = {() -> Void in 
     dispatch_async(dispatch_get_main_queue(), { // avoids autolayout error 

      self.loader.view.removeFromSuperview() 
      self.collectionView1.reloadData() 
      self.collectionView2.reloadData() 

     }) 

appLoader остается за collectionViews.

Я новичок в программировании Swift и iOS и думаю, что мне не хватает чего-то простого и фундаментального. Я сбит с толку - не знаю, как сформулировать вопрос.

Что я пытаюсь сделать, это показать очень простой экран загрузчика, пока не будут доступны данные из getMovieData. Большое спасибо за любую помощь.

ответ

0

Смутно сказать, что это было простое исправление.

После просмотра приложения в отладочном представлении Xcode Hieracrchy я понял, что есть дополнительный ControllerView, также называемый appLoader, связанный с segue. Как только код segue был удален, все работает так, как должно.

Смежные вопросы