由于是iOS轉macOS,所以習慣上還保留著很多的iOS的習慣,比如習慣用純代碼,不喜歡用Xib和SB。
macOS和iOS有很多的不同,其中就是很多如果使用純代碼的話,內(nèi)在的一些方法就需要自己實現(xiàn)。
遇到了NSViewController的使用時,直接使用alloc init方法創(chuàng)建調(diào)用純代碼類,viewDidLoad的方法在macOS中是不會自動調(diào)用的。而且默認的NSViewController的view,也是為空,需要自己去綁定創(chuàng)建。如果沒有綁定對應VC的View,那么在引用這個vc時會提示"Failed to set (contentViewController) user defined inspected property on (NSWindow): -[NSNib _initWithNibNamed:bundle:options:] could not load the nibName: XXXX in bundle (null)."
推薦使用xib去做對應的NSViewController創(chuàng)建會省事很多,如果依然要使用純代碼,那最好建立一個NSViewController基類,在里面實現(xiàn)對應的init方法,同時創(chuàng)建對應的view做綁定。