不接受bool值的Swift协议属性getter

时间:2015-05-17 15:41:16

标签: objective-c swift

我正在尝试为WebView类创建一个Swift协议,以便它可以在Javascript中使用。除了bool属性之外,这适用于大多数属性。原因是幕后的Obj-C getter命名方式不同(对于loading: Bool属性,getter为isLoading)。如何在我的Swift协议中指定这样的getter?

以下是相关代码:

@objc protocol WebViewJSExport : JSExport {
  var mainFrame: WebFrame! { get };
  var selectedFrame: WebFrame! { get };

  var loading: Bool { get };
  var mainFrameURL: String! { get };
  var mainFrameDocument: DOMDocument! { get };
  var mainFrameTitle: String! { get };
}

当我在班上使用这个协议时:

class WebClient: WebView, WebViewJSExport {
}

我收到此编译器错误(包含2个详细信息条目):

  

键入' WebClient'不符合协议' WebViewJSExport'

     

协议要求财产加载'使用' Bool'

     

Objective-C方法' isLoading'由getter提供的“loading'不   不符合要求的选择器(' loading')

0 个答案:

没有答案