gpt4 book ai didi

swift - 为什么编译器会警告标记为@discardableResult 的函数有未使用的结果?

转载 作者:搜寻专家 更新时间:2023-10-31 22:57:42 24 4
gpt4 key购买 nike

Swift 3 编译器警告我一个未使用的结果,即使我用 @discardableResult 标记了函数。

它仅在使用 ? 语法对可选变量调用函数时发生。

为了简化问题,我创建了这个示例代码。 (我不得不把它放在一个项目中,因为警告没有在 Playground 上显示。)

class Foo {
@discardableResult func bar() -> String? {
return "bar"
}
}

class Tester {
func doSomething() {
var foo: Foo?

foo = Foo()

foo?.bar() //Warning: Expression of type 'String?' is unused
foo!.bar() //No warning
}
}

最佳答案

这是一个已知错误 ( https://bugs.swift.org/browse/SR-1681 ),尽管 Swift 团队似乎认为它已被解决。也许修复还没有进入 Xcode,或者他们只是错了。

更新 我们得到官方消息:修复将从 Xcode 8.3 开始出现。

关于swift - 为什么编译器会警告标记为@discardableResult 的函数有未使用的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42800654/

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