我有一个NSViewController的子类,该子类从 Nib 加载 View (带有initWithNibName:bundle:,它是该 Nib 的文件所有者)。
Nib 加载后,我需要进行一些初始化,并且我希望我的代码是最兼容的:
ios中的
所以我的问题是:
如果答案1为否,这是一个好的解决方案吗? :
- (void)viewDidLoad {
// Initialize after nib loaded
}
#ifndef TARGET_OS_IPHONE
- (void)loadView {
// Call parent method
[super loadView];
// Simulate viewDidLoad method
[self viewDidLoad];
}
#endif
谢谢
最佳答案
这是我发现的:
awakeFromNib
:也可以在Lion中文件的所有者中调用NSObject
(通常对于新的Mountain Lion,它是相同的)。 awakeFromNib
上有一个类别添加[super awakeFromNib]
,因此从任何子类中调用instancesRespondToSelector
是安全的。对于10.6之前的OSX,我们可以使用awakeFromNib
:来知道父类是否实现NSView
,NSObject
或[super awakeFromNib]
子类不得调用ojit_code。 关于ios - 设置使用initWithNibName :bundle:?初始化的NSViewController的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10028389/