我有一个def matchedJobs = Jenkins.instance.items.findAll{ job ->
job.name =~ /test/ && job.getAssignedLabel() != null
}.collect { job ->
"${job.name}: ${job.getAssignedLabel().getNodes().collect({it.getNodeName()==""?"master":it.getNodeName()}).join(',')}\n"
}.each { slaves ->
println slaves
}
,有两个标签。在每个选项卡中都有一个表,在UITabBarController
中我加载数据并重新加载表:
viewWillAppear
但每次在表格之间切换时,显示的数据都是错误的。它会显示第二个选项卡数据,然后显示第一个确定,然后在两个视图中始终显示一个数据。
有什么想法吗?
更新:我的loadTasks()方法。
答案 0 :(得分:1)
如果您“输入”标签,通常应调用viewWillAppear
。
可能是ViewController未被取消初始化的情况=> ViewController仍在那里,因此不会调用viewWillAppear
。
您可能需要在loadTasks
中使用弱自我:
func loadTasks(){
let url = Api.GET_TASK_USER_MONTH
Task.getTasks(url) { [weak self] tasks in
if !tasks.isEmpty {
for index in 0...tasks.count-1 {
self?.tasks.append(tasks[index])
}
}
self?.tableView.reloadData()
}
}