繁体   English   中英

NSView“窗口”已弃用XCode 4

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM