swift - 变量仅用于在单元测试中保持实例处于事件状态,并收到 "only written to but never read"警告

标签 swift

在这里,我使用 Quick 对代码的一部分进行单元测试,我声明了容器变量以使其在weaklyScpoed 闭包之外保持事件状态。然后我收到警告...

describe("foo") {
    it("bar") {
        // warning: variable "container" was written to, but never read
        var container: NSFPrioritizedDelegateContainer?
        let result = weaklyScoped(NSObject()) {
            container = NSFPrioritizedDelegateContainer.init(delegates: [$0], weakRef: true)
        }

        expect(result).to(beNil())
    }
}

“weaklyScoped”函数也很简单

func weaklyScoped<T: AnyObject>(_ v: @autoclosure () -> T, action: (T) throws -> ()) rethrows -> T? {
    weak var weakValue: T?
    do { // optionally autoreleasepool
        let value = v()
        try action(value)
        weakValue = value
    }

    return weakValue
}

如何删除警告并使容器在weaklyScoped 闭包之外保持事件状态?

最佳答案

_ = container

这样你就可以无害地读取它的值。

关于swift - 变量仅用于在单元测试中保持实例处于事件状态,并收到 "only written to but never read"警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58404722/

相关文章:

ios - 更改按钮标题和颜色时如何防止滞后?

ios - EXC_BAD_ACCESS 和 MPMusicPlayerController

ios - removeFromSuperView() 和单元格 = fatal error : unexpectedly found nil while unwrapping an Optional value

swift - 如何在 swift 中将数组传递给 NSNotification

swift - 我可以在作为参数传递的类型上专门化泛型函数吗?

iOS 谷歌登录 : Hide sign in confirmation message box

ios - 如何将 `Observable` 转换为 `ControlEvent`

ios - 核心功能的不同用户界面

ios - FireStore 读取问题,限制读取将如何影响价格

swift - 点击 UITextView 时允许操作