【发布时间】:2015-09-22 10:28:46
【问题描述】:
我有一个派生自 NSView 并包装了 WebView 实例的类。此类被设置为不同部分(框架加载、UI、策略和资源加载)的委托。这可以编译并与 XCode 6 很好地配合使用。
升级到 XCode 7 后出现错误,因为 WebView 的 frameLoadDelegate 等已从 id 更改为例如id<WebFrameLoadDelegate>。为了让它再次编译,我将代码更改为:
@interface WebBrowser : NSView <WebFrameLoadDelegate, WebUIDelegate, WebPolicyDelegate, WebResourceLoadDelegate> {
...
这可以在 XCode 7 中编译并正常工作,但在 XCode 6 中则不行。即使在那里也定义了委托并且包含了 WebKit,我仍然会收到这些委托未知的错误。这里有什么修复方法使它也可以在 XCode 6 中工作?
我正在考虑用#if/#endif 包装协议部分,但不知道我可以使用什么作为条件。
【问题讨论】:
标签: objective-c xcode6 webkit xcode7