[英]NSView 'window' is deprecated XCode 4
我最近安装了XCode 4+,并且由于出现警告消息“ window”已被弃用。 我将NSView子类化,并将其称为CentralView,并使用它动态加载各种视图。 我必须对NSView进行子类化,因为有些方法需要重写。 在控制加载中心视图的其他类中,我创建了以下方法:
- (IBAction)showUserInfoView:(id)sender{
NSLog(@"Load new user info page");
// Try to end editing
NSWindow *w = [centralView window]; // Here I get warning 'window' is deprecated
BOOL ended = [w makeFirstResponder:w];
if (!ended) {
NSBeep();
return;
}
// Put the view in the box
NSView *v = [[viewControllers objectAtIndex:0] view];
NSArray* viewSet = [NSArray arrayWithObject: v];
[centralView setSubviews: viewSet];
}
据我所知,NSView中的window方法是最新的。 为什么会收到消息?
什么是centralView
? 如果您说[(NSView*)centralView window]
怎样?
编译器可能未找到-[NSView window]
,而是找到了其他不推荐使用的-window
方法。 如果将centralView
声明为id
则编译器不知道它是NSView
,必须猜测。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.