Self { -6ren">
gpt4 book ai didi

objective-c - swift 中的 func "self"导致 Xcode 中出现错误

转载 作者:行者123 更新时间:2023-11-30 10:48:21 28 4
gpt4 key购买 nike

Xcode 自动为协议(protocol)生成了这一行 - 我刚刚启动了该类,并且 Xcode 完成了所有协议(protocol)功能:

func `self`() -> Self {
<#code#>
}

编辑:完整代码如下:

import Foundation
import ImageCaptureCore

class myDeviceBrowserDelegate : ICDeviceBrowserDelegate {
func deviceBrowser(_ browser: ICDeviceBrowser, didAdd device: ICDevice, moreComing: Bool) {
<#code#>
}

func deviceBrowser(_ browser: ICDeviceBrowser, didRemove device: ICDevice, moreGoing: Bool) {
<#code#>
}

func isEqual(_ object: Any?) -> Bool {
<#code#>
}

var hash: Int = 0

var superclass: AnyClass?

func `self`() -> Self {
<#code#>
}

func perform(_ aSelector: Selector!) -> Unmanaged<AnyObject>! {
<#code#>
}

func perform(_ aSelector: Selector!, with object: Any!) -> Unmanaged<AnyObject>! {
<#code#>
}

func perform(_ aSelector: Selector!, with object1: Any!, with object2: Any!) -> Unmanaged<AnyObject>! {
<#code#>
}

func isProxy() -> Bool {
<#code#>
}

func isKind(of aClass: AnyClass) -> Bool {
<#code#>
}

func isMember(of aClass: AnyClass) -> Bool {
<#code#>
}

func conforms(to aProtocol: Protocol) -> Bool {
<#code#>
}

func responds(to aSelector: Selector!) -> Bool {
<#code#>
}

var description: String = ""


}

但它给出了一个错误:方法不能是 @objc 要求的实现,因为它的结果类型不能用 Objective-C 表示

如何清除错误?谢谢

最佳答案

我发现了问题。我的委托(delegate)需要声明它的父类(super class),即 NSObject...,如下所示:

class myDeviceBrowserDelegate : NSObject, ICDeviceBrowserDelegate {
...

然后 self 函数(以及其他函数)被显示为覆盖协议(protocol)定义,因此我现在可以删除这些函数。实际上,我只需声明前两个函数。

我发现这个链接有助于解释 swift 中委托(delegate)的编写:https://medium.com/@agoiabeladeyemi/protocol-in-swift-with-practical-examples-8b955268ce39

关于objective-c - swift 中的 func "self"导致 Xcode 中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55299193/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com