Geo*_*nos 9 macos cocoa objective-c nsapplication
我一直在寻找如何以编程方式终止我的应用程序.我发现很多人都在使用NSApp terminate:id.
在Xcode terminate:id中交叉.这种方法是否已被弃用?我应该用它来终止我的申请吗?如果没有哪个是正确的方法呢?
更新:
当我说它越过时我的意思的图片:

Mar*_*n R 19
我不认为这terminate是不赞成的.编译器警告的可能原因可能是
[NSApp terminate:sender]
Run Code Online (Sandbox Code Playgroud)
NSApp返回一个通用id,以便编译器不知道terminate实际意味着哪个消息.确实,如果我使用"跳转到定义",Xcode会跳转到
@protocol NSInputServiceProvider
...
- (void) terminate:(id)sender NS_DEPRECATED_MAC(10_0, 10_6);
Run Code Online (Sandbox Code Playgroud)
但是如果你使用等效的代码
[[NSApplication sharedApplication] terminate:sender];
Run Code Online (Sandbox Code Playgroud)
然后编译器警告就消失了.