如何调用另一个类中的函数? [复制]
Posted
技术标签:
【中文标题】如何调用另一个类中的函数? [复制]【英文标题】:How to call a function in another class? [duplicate] 【发布时间】:2019-10-10 21:57:41 【问题描述】:我在 TableView 中遇到问题。这是包含 TableView 的类。
class LogViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
…
func loadLogList() – > [String]
…
该列表包含我的日志文件目录中的所有日志文件。在自定义 TableViewCell 中,我插入了一个删除日志文件的按钮。这是用户定义的tableViewCell:
class LogTableViewCell: UITableViewCell
…
@IBAction func deletePressed(_ sender: Any)
let fileManager = FileManager.default
do
try fileManager.removeItem(atPath: logURL!.path)
catch let error as NSError
print("Fehler: \(error)")
按下按钮后,相关文件将被删除。现在我想刷新这个列表。但是 Button 在 TableViewCell 类中,刷新列表的功能在 TableView 类中。如何刷新tableview和对应的数组?
【问题讨论】:
【参考方案1】:您可以为此使用 Notification Observer 模式,但您可以使用此扩展访问单元格的 tableView:
extension UITableViewCell
var tableView: UITableView?
return (next as? UITableView) ?? (parentViewController as? UITableViewController)?.tableView
extension UIView
var parentViewController: UIViewController?
var parentResponder: UIResponder? = self
while parentResponder != nil
parentResponder = parentResponder!.next
if let viewController = parentResponder as? UIViewController
return viewController
return nil
- 那么现在:
您可以在单元格内简单地执行tableView?.reloadData()
。
【讨论】:
以上是关于如何调用另一个类中的函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章