Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 不接受bool值的Swift协议属性获取程序_Objective C_Swift - Fatal编程技术网

Objective c 不接受bool值的Swift协议属性获取程序

Objective c 不接受bool值的Swift协议属性获取程序,objective-c,swift,Objective C,Swift,我正在尝试为WebView类创建一个Swift协议,以便可以在Javascript中使用它。这适用于大多数属性,但布尔属性除外。原因是幕后的Obj-C getter的命名不同(对于load:Bool属性,getter是isload)。如何在Swift协议中指定这样的getter 以下是相关代码: @objc protocol WebViewJSExport : JSExport { var mainFrame: WebFrame! { get }; var selectedFrame:

我正在尝试为WebView类创建一个Swift协议,以便可以在Javascript中使用它。这适用于大多数属性,但布尔属性除外。原因是幕后的Obj-C getter的命名不同(对于
load:Bool
属性,getter是
isload
)。如何在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”的属性“加载”

getter为“加载”DO提供的Objective-C方法“isLoading” 与需求的选择器不匹配(“加载”)


如果我没有弄错的话,这应该可以回答您的问题:[如何在Swift中使用扩展协议公开Obj-C类上的现有属性][1][1]:@homigbrain,您的链接是正确的答案,因此请将其作为答案发布,以便我可以接受。