2016-10-03 18 views
0
override func viewDidLoad() 
     { 
      super.viewDidLoad() 

      if self.revealViewController() != nil 
      { 
       menuButton.target = self.revealViewController() 
       menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) 
       self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
      } 



     Server.fetchCampaignList(target: self) 


     let indicator = UIActivityIndicatorView(activityIndicatorStyle: .white) 
     indicator.center = self.view.center 
     indicator.startAnimating() 
     self.view.addSubview(indicator) 

    } 

私は多くの回答を読んだことがありますが、私は間違っていることをまだ得られていません。私の次の関数はTableViewControllerクラスです。私はviewDidLoadメソッドが呼び出されるとすぐにアクティビティインジケータを表示したい。同じメソッドで、サーバからリストを取得しました。データが同じクラスのnextActionメソッドを受け取ったときに、&がリロードテーブルを実行しています。アクティビティインジケータが表示されない

すべて正常です。しかし、アクティビティインジケータは表示されません。

+0

まずindicator.startAnimating() –

+0

無効この1 Server.fetchCampaignList(ターゲット:自己)を追加subview.thanに追加し、その作業を確認するか、@Krutarth&暗部はない –

+0

:私はすでに動作していない、試してみました。 –

答えて

0

メインスレッドにインジケータコードを追加しました&が出ました。私は上級のデベロッパーに、それがなくて何が間違っていたのかを説明したいと思っていました。&なぜ今それが働いているのですか?それは将来の遅れを助けるでしょう。

override func viewDidLoad() 
    { 
     super.viewDidLoad() 

     if self.revealViewController() != nil 
     { 
      menuButton.target = self.revealViewController() 
      menuButton.action = #selector(SWRevealViewController.revealToggle(_:)) 
      self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
     } 

     OperationQueue.main.addOperation 
      { 
       Server.fetchCampaignList(target: self) 
       let indicator = UIActivityIndicatorView(activityIndicatorStyle: .gray) 
       indicator.center = self.view.center 
       self.view.addSubview(indicator) 
       indicator.startAnimating() 
     } 
    } 
関連する問題