2017-02-28 29 views
1

我使用滑動手勢改變主視圖的外觀:如何避免調用viewDidLoad中()刷新視圖

@IBAction func changeSeqBack(_ recognizer: UISwipeGestureRecognizer) { 

     if (recognizer.direction == UISwipeGestureRecognizerDirection.right) { 
      count = 0 
      if timerIndex % 5 == 0 { 
       timerIndex -= 5 
       initialState -= 1 
       viewDidLoad() 
      } else { 
       while timerIndex % 5 != 0 { 
        timerIndex -= 1 
        if timerIndex % 5 == 0 { 
         count = 0 
         initialState -= 0 
         viewDidLoad() 
        } 
       } 
      } 
     } 
    } 

initialState變量,因爲它是用刷卡變化,叫號的在屏幕上隱藏或顯示各種對象的方法。問題是,我只能使每次刷卡後發生的更改顯示爲調用viewDidLoad()。加載內存似乎是不好的做法。有沒有其他方法可以讓內存變得簡單?

回答

4

創建初始設置的新功能和移動代碼中viewDidLoad中()到要刷新並從您的viewDidLoad(調用相同的功能)和刷新功能:

override viewDidLoad(){ 
    super.viewDidLoad() 
    testFunction() 
} 

func testFunction() { 
    // write your code here 
} 


if (recognizer.direction == UISwipeGestureRecognizerDirection.right) { 
      count = 0 
      if timerIndex % 5 == 0 { 
       timerIndex -= 5 
       initialState -= 1 
       testFunction() 
      } else { 
       while timerIndex % 5 != 0 { 
        timerIndex -= 1 
        if timerIndex % 5 == 0 { 
         count = 0 
         initialState -= 0 
         testFunction() 
        } 
       } 
      } 
     }