gpt4 book ai didi

swift - 如何检查是否实现了可选的重载方法?

转载 作者:可可西里 更新时间:2023-11-01 01:02:29 24 4
gpt4 key购买 nike

那里有类似的问题,但我没有找到可以回答这个特定问题的问题。

我在想。

swift 中给定的协议(protocol)中存在一个具有多个签名的重载方法。

optional func foo()
optional func foo(bar: Int)

optional func bar()

要检查 bar 方法是否已实现,我可以去做:

if obj.bar != nil {
obj.bar()
}

但是我怎么知道方法 foo(:Int) 而不是 foo 被实现了?这可能吗?

最佳答案

您可以选择使用显式绑定(bind)到变量类型注解:

if let foo : (Void -> Void) = obj.foo {
foo()
} else {
print("`foo()` not implemented")
}

if let fooBar : (Int -> Void) = obj.foo {
fooBar(1)
} else {
print("`foo(bar: Int)` not implemented")
}

关于swift - 如何检查是否实现了可选的重载方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34239370/

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