如何在OSX 10.8的Xcode 4.6.1中使用viewDidLoad
或appDidBecomeActive
等功能,这些功能仅适用于OSX 10.10及更高版本。请建议使用这些功能的替代方法。
答案 0 :(得分:3)
扩展肯托马斯的评论;这是我使用的代码:
- (void)loadView
{
[super loadView];
// if we're running on 10.8 or older…
if (NSAppKitVersionNumber <= NSAppKitVersionNumber10_8) {
[self viewDidLoad]; // call viewDidLoad (added in 10.9)
}
}
//
// This will be called by loadView pre-10.9; directly otherwise
//
- (void)viewDidLoad {
// --- YOUR CODE HERE ---
} // viewDidLoad
答案 1 :(得分:0)
我覆盖了setView
@interface MyViewController : NSViewController
@end
@implementation MyViewController
- (void)setView:(NSView*)v {
super.view = v;
// if we're running on 10.8 or older…
if (NSAppKitVersionNumber <= NSAppKitVersionNumber10_8) {
[self viewDidLoad]; // call viewDidLoad (added in 10.9)
}
}
@end