У меня есть приложение, в котором у пользователя есть список акций, за которыми он следит (так что он может меняться / меняться). Когда пользователь щелкает ячейку в списке, он открывает StockViewController (), который показывает данные о запасах. Я начал беспокоиться о том, что инициализация нового ViewController каждый раз является плохой практикой и приводит к увеличению использования памяти с течением времени (даже не совсем уверен, так ли это).
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if(indexPath.section == 1) {
let stockVC = StockViewController()
stockVC.parentView = self
stockVC.stock = followingStocks[indexPath.row]
DispatchQueue.main.async {
self.present(stockVC, animated: true, completion: nil)
}
}
}
Я пытался использовать тот же ViewController, сбрасывая представление таблицы / данные внутри него после каждого использования, но у меня возникают проблемы с успешным выполнением этого плавного процесса. Делает ли это вышеуказанным способом, вызывает ли это проблемы в моем приложении, или я должен пытаться использовать один и тот же ViewController, ниже, каждый раз?
class VCManager {
static var stockVC = StockViewController()
static func resetStockVC() {
stockVC.stockData = [StockData]()
stockVC.tableView.reloadData()
}
}