我在单独的类中创建一个http GET请求,并在UITableViewCell的子类中调用它 我想要的是在请求后显示按钮标题上的数组对象的数量,但它显示为0
这是我的代码:
class ReportAnIssue: UITableViewCell {
var issuesArray = [Issue]()
var openedIssuesArray = [Issue]()
var closedIssuesArray = [Issue]()
@IBOutlet weak var openedIssuesButton: UIButton!
@IBOutlet weak var closedIssuesButton: UIButton!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let maker = UserProfileMaker()
maker.request() { issuesArray, openedIssuesArray, closedIssuesArray, success in
self.issuesArray = issuesArray
self.openedIssuesArray = openedIssuesArray
self.closedIssuesArray = closedIssuesArray
// here array.count == 1
self.openedIssuesButton.setTitle("Opened Issues: \(self.openedIssuesArray.count)", forState: .Normal)
//here I'am getting 0 in title, but in fact it should be one
}
}
}
答案 0 :(得分:2)
您应该在主队列上调度呼叫,尝试:
dispatch_async(dispatch_get_main_queue(),{
self.openedIssuesButton.setTitle("Opened Issues: \(self.openedIssuesArray.count)", forState: .Normal)
})
我相信请求是在后台队列中进行的,但所有与UI相关的操作都必须在主队列中完成。