Junior — Middle
როგორ ხდება მონაცემთა გაცვლა და ურთიერთქმედება სისტემის ფენებს შორის ნულიდან აპლიკაციის შექმნისას?
sobes.tech AI
პასუხი AI-სგან
iOS პროგრამებში, ფენებს შორის ურთიერთქმედება ჩვეულებრივ შენდება არქიტექტურული ნიმუშების (MVC, MVVM, VIPER და სხვა) მიხედვით.
მონაცემთა გაცვლა ხდება შემდეგი გზებით:
- მოდელები (Model): ინახავენ მონაცემებს და ბიზნეს ლოგიკას.
- ხედი (View): აჩვენებს მონაცემებს მომხმარებელს.
- კონტროლერები ან ViewModel: მართავენ ლოგიკას და აკავშირებენ მოდელს ხედთან.
მონაცემები გადაეცემა მეთოდების, დელეგატების, closures ან რეაქტიული ბიბლიოთეკების (მაგ., Combine, RxSwift) საშუალებით.
მაგალითი: ViewModel იღებს მონაცემებს მოდელიდან და განაახლებს View-ს ბაინდინგის ან callback-ის საშუალებით.
class ViewModel {
var dataUpdated: (() -> Void)?
private var data: [String] = [] {
didSet {
dataUpdated?()
}
}
func fetchData() {
// მონაცემების მიღება მოდელიდან
data = ["Item1", "Item2"]
}
}
class ViewController: UIViewController {
let viewModel = ViewModel()
override func viewDidLoad() {
super.viewDidLoad()
viewModel.dataUpdated = { [weak self] in
// UI განახლება
self?.tableView.reloadData()
}
viewModel.fetchData()
}
}