import UIKit
class NewsAPI: NSObject {
static let service = NewsAPI()
@objc dynamic private(set) var articles: [String] = []
func fetchArticles(for source: String) {
}
func resetArticles() {
}
}
class ArticleListController: UITableViewController {
var source: String?
private var token: NSKeyValueObservation?
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
guard let source = source else { return }
/*
let path1 = #keyPath(NewsAPI.articles)
let path2 = \NewsAPI.articles
let path3 = \.articles
*/
token = NewsAPI.service.observe(\.articles) {
_, _ in
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
NewsAPI.service.fetchArticles(for: source)
}
override func viewDidDisappear(_ animated: Bool) {
super.viewDidDisappear(animated)
token?.invalidate()
NewsAPI.service.resetArticles()
}
}
[2] KVO
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 最近一直在做原型图,中间有两天没有写简书了。感觉心里面特别不是滋味。所以今天好不容易忙中偷闲,所以今天必须写...