Tableview 自动重新加载内容
Tableview automatically reload content
我在从表视图移动到视图时遇到问题。
为了解释这个问题,我有一个名为 myObjects 的视图,其中包含一个表视图,其中加载了一些用户对象,如果用户点击单元格,则会调用一个带有模态 segue 的新视图 (objectConsult)。
在此视图中,用户将找到有关他的对象的所有信息,当他点击也与模态转场链接的后退按钮时,他会返回到 myObjects。
我的问题是,每次我点击 objectConsul 的后退按钮时,我的 tableview 都会重新加载单元格,我已经在 objective-C 中成功阻止了重新加载,但在 swift 中我不明白是什么我必须做的来解决这个问题。
override func viewDidAppear(animated: Bool) {
tableView.reloadData()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:CustomCell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCell
cell.picture.frame = CGRectMake(5,0,120,103)
cell.title.text = repos[indexPath.row].title
let i = settings.ImagesCachedArray.indexOf({[=10=] == repos[indexPath.row].idobjet!})
let myImageName = "\(settings.ImagesCachedArray[i!]).png"
let imagePath = fileInDocumentsDirectory(myImageName)
if let _ = self.loadImageFromPath(imagePath) {
cell.picture.image = self.loadImageFromPath(imagePath)
}
else {
let imgzeroresult = UIImage(contentsOfFile: NSBundle.mainBundle().pathForResource("noimage", ofType: "png")!)
cell.picture.image = imgzeroresult
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("mysegue", sender: self.view)
}
如有任何帮助,我们将不胜感激。
问题是:
override func viewDidAppear(animated: Bool) {
tableView.reloadData()
}
为 viewDidLoad 更改此方法
override func viewDidLoad() {
tableView.reloadData()
}
我在从表视图移动到视图时遇到问题。
为了解释这个问题,我有一个名为 myObjects 的视图,其中包含一个表视图,其中加载了一些用户对象,如果用户点击单元格,则会调用一个带有模态 segue 的新视图 (objectConsult)。
在此视图中,用户将找到有关他的对象的所有信息,当他点击也与模态转场链接的后退按钮时,他会返回到 myObjects。
我的问题是,每次我点击 objectConsul 的后退按钮时,我的 tableview 都会重新加载单元格,我已经在 objective-C 中成功阻止了重新加载,但在 swift 中我不明白是什么我必须做的来解决这个问题。
override func viewDidAppear(animated: Bool) {
tableView.reloadData()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:CustomCell = self.tableView.dequeueReusableCellWithIdentifier("Cell") as! CustomCell
cell.picture.frame = CGRectMake(5,0,120,103)
cell.title.text = repos[indexPath.row].title
let i = settings.ImagesCachedArray.indexOf({[=10=] == repos[indexPath.row].idobjet!})
let myImageName = "\(settings.ImagesCachedArray[i!]).png"
let imagePath = fileInDocumentsDirectory(myImageName)
if let _ = self.loadImageFromPath(imagePath) {
cell.picture.image = self.loadImageFromPath(imagePath)
}
else {
let imgzeroresult = UIImage(contentsOfFile: NSBundle.mainBundle().pathForResource("noimage", ofType: "png")!)
cell.picture.image = imgzeroresult
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("mysegue", sender: self.view)
}
如有任何帮助,我们将不胜感激。
问题是:
override func viewDidAppear(animated: Bool) {
tableView.reloadData()
}
为 viewDidLoad 更改此方法
override func viewDidLoad() {
tableView.reloadData()
}