簡體   English   中英

在調用結束之前執行方法調用之后的語句

[英]statement after a method call gets executed before call ends swift

我正在嘗試調用另一個類中的方法,並在方法調用后使用該類的變量,該變量在方法中得到更新。 但是我得到了變量的 nil 值,因為在方法完全執行之前調用了該語句。

例如:我有兩個類 A 和 B。B 有一個方法更新和一個變量更新。

class A {
    let obj_b = B()

    func call() {
        obj_b.update()
        let updated = obj_b.updated
    }
}

class B {
    var updated: Int?

    func updated() {
        updated = 1
    }
}

我正在嘗試的內容比示例復雜得多,並且該方法需要大約 5 秒才能完全執行。 除了返回我需要的變量之外,還有其他方法嗎?

class A {
        let obj_b = B()

        func call() {
            let updated = obj_b.updatedVariable
            print("\(updated!)")
        }
    }

    class B {
        var updatedVariable: Int?{
            return  1
        }
    }

在調用 A 時

let obj_b = A()
obj_b.call()

結果打印 1 ,這就是你想要的變量。 在這種情況下,您可以使用計算變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM