【发布时间】:2016-03-11 03:28:27
【问题描述】:
import UIKit
class Connecting {
let refHandler = Firebase(url: "https://-unique-link-.firebaseio.com/handlers")
var handlerID: [AnyObject] = []
func getHandlerStatus() {
refHandler.queryOrderedByChild("status").observeEventType(.ChildAdded, withBlock: { snapshot in
if let status = snapshot.value["status"] as? Int {
if status == 0 {
self.handlerID.append(snapshot.key)
print(self.handlerID)
} else {
//Do Nothing
}
}
})
}
func handlerIDReturn() -> NSArray {
print(handlerID)
return handlerID
}
}
handlerID 数组已填充,但当我检查时,它是空的。 :( 请帮忙 我已经更新了所有代码。
这是一个调用代码。我使用按钮调用每个基金
@IBAction func callerButton(sender: AnyObject) {
Connecting().getHandlerStatus()
}
@IBAction func button2nd(sender: AnyObject) {
print(Connecting().handlerIDReturn())
}
【问题讨论】:
-
您的
handlerIDReturn代码何时运行?您的块将在后台线程上运行,所以也许您在它完成之前调用了handlerIDReturn? -
不,先生。我只在上述函数将数据添加到数组后才调用 handlerIDReturn。当“print(self.handlerID)”显示数据时。我等待大约 5 秒,然后调用 handlerIDReturn()。
-
能否包含周边代码?您确定要在同一个对象实例上调用这两种方法吗?
-
我已复制所有代码并粘贴。我迷路了。
-
调用这些方法的代码呢?