【发布时间】:2017-08-28 07:37:21
【问题描述】:
另一个 ViewController 中有一个按钮,如果我按下它,我应该会看到我按下按钮的时间。
按钮有效,但点击刷新按钮后表格不会刷新,将刷新放在 ViewDidAppear 函数上也不起作用。
我需要退出应用程序,从多任务处理中关闭它并再次打开它,然后我按下按钮的时间就会显示出来。我应该怎么做才能使刷新按钮起作用?
(两个视图控制器在同一个故事板中,第二个扩展了第一个)
第一个视图控制器:
class Tracking: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var activity: UITableView!
var activities = [String]()
var userData = false
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return activities.count
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "cell")
cell.textLabel?.text = activities[indexPath.row]
return(cell)
}
@IBAction func Reload(_ sender: AnyObject) {
activity.reloadData()
}
.
.
.
}
第二个视图控制器:
class Activity: Tracking {
.
.
.
@IBAction func playButton(_ sender: AnyObject) {
isPlayed += 1
userData = true
UserDefaults.standard.set(userData, forKey: "userData")
let playElm = playStr + " בשעה: " + getTime()
activities.append(playElm)
UserDefaults.standard.set(activities, forKey: "activities")
}
.
.
.
}
【问题讨论】:
-
"There's a button in another ViewController" 从您的代码中,该按钮似乎位于按钮的同一个 ViewController 上。你是如何做到这一点的?
-
@Larme 我已经更新了问题。
-
@matanm 您如何在 First View Controller 中从
Userdefaults获取活动? -
@ImadAli 喜欢这样:imgur.com/a/hxh9Q
-
@matanm 如果您进行调试,您是否看到
viewDidLoadFirst VC 中保存的活动?