我正在使用滑动手势来改变主视的外观:
@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()。这似乎是不良的习惯,因为它加载了内存。还有其他方法可以使其在内存上简化吗?
为初始设置创建一个新功能,然后将代码在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()
}
}
}
}