3 回答
TA貢獻1824條經驗 獲得超6個贊
好了,您只需在異步回調的末尾調用該函數。那就是異步回調結束的時候-異步回調中的其他所有東西都結束了!因此,例如:
func myMethod() {
// ... code ...
somebody.doSomethingWith(someObject, asynchronousCallback: {
(thing, otherThing) in
// ... do whatever
// --> CALL THE FUNCTION!
})
// ... code ...
}
如果問題是,你不知道叫什么功能,你可以配置你周圍的功能/對象,以便有人能交出你的函數,而那么你在我說的“調用函數”在上面的斑點叫什么。
例如:
func myMethod(f:() -> ()) { // we receive the function as parameter
// ... code ...
somebody.doSomethingWith(someObject, asynchronousCallback: {
(thing, otherThing) in
// ... do whatever
// --> CALL THE FUNCTION, by saying:
f()
})
// ... code ...
}
TA貢獻1829條經驗 獲得超6個贊
擴展Matt的答案,您可以使myMethod一個以閉包作為參數的方法:
func myMethod(completionBlock: (result: String) -> ())
{
// ... code ...
somebody.doSomethingWith(someObject, asynchronousCallback: {
(thing, otherThing) in
// ... do whatever
completionBlock(thing)
})
// ... code ...
}
TA貢獻1865條經驗 獲得超7個贊
您能解釋一下如何交接職能嗎?我事先了解到,您可以在編寫“調用函數”的地方運行該函數,但是就像我說的那樣,該函數在另一個文件中。我現在正在處理的特定情況是,我編寫了一個函數,該函數首先檢查要查找的對象是否在本地數據存儲中,否則,它檢查服務器。由于我希望它可以在任何地方運行,因此將其放在單獨的文件中。但是我仍然需要它來調用調用它的類中的函數。再次感謝。
- 3 回答
- 0 關注
- 711 瀏覽
添加回答
舉報
