由於viewdidload()僅在UIViewController對象的實例的生命週期中被調用一次,是否意味着下面的這個例子是一個「不好的做法」,因爲setBackgroundColor()是一個只調用一次的函數,無需加載當它真的應該完全存在(定義和調用)在viewdidload()內部時,它們進入整個類的內存中?或者就效率而言,setBackgroundColor()是在哪裏定義和調用的?定義函數裏面的viewdidload()比外部定義它們更節省內存嗎?
class MasterViewController: UIViewController {
func setBackgroundColor() {
self.view.backgroundColor = UIColor.green
}
// Do any additional setup after loading the view, typically from a nib.
override func viewDidLoad() {
super.viewDidLoad()
setBackgroundColor()
}
// Dispose of any resources that can be recreated.
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
該文檔稱「使用此方法執行視圖控制器所需的任何其他設置」,但將背景色設置爲「附加設置」?它不是主要的,基礎設置? func在不在viewdidload()內部時不加載,這導致我相信「附加設置」的措辭有點誤導。是? –
認識到viewController與視圖不同是很重要的。您正在設置視圖的顏色,它是viewController設置的一部分。 – toddg