首页 > 解决方案 > 当您可以访问同一文件中的类时,Swift 为什么要使用扩展?

问题描述

所以我正在学习 Swift。我发现很多教程似乎都提倡添加扩展而不是仅仅扩展类,这有点令人困惑。

class ReminderListViewController: UITableViewController {

}

extension ReminderListViewController {
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return Reminder.testData.count
    }
}

考虑上面的代码。为什么不只是

class ReminderListViewController: UITableViewController {
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return Reminder.testData.count
    }
}

标签: swift

解决方案


它通常基于个人喜好,有些人认为它看起来更漂亮。

另一种情况是,如果一个正在扩展的类依赖于另一个类并且该类需要进行更改,那么扩展比您的其他选择容易得多;这将扩展许多课程以更改一个课程。有时这是必要的,但并不经常。


推荐阅读