【发布时间】:2018-03-11 01:51:21
【问题描述】:
这里是 ReactiveCocoa 的新手。我有一个(MVVM)视图模型,它代表一个类似新闻提要的页面,收听数据模型属性变化的正确方法是什么?在以下示例中,startUpdate() 不断更新post。计算出的属性 messageToDisplay 和 shouldShowHeart 驱动一些 UI 事件。
struct Post {
var iLiked: Bool
var likes: Int
...
}
class PostViewModel: NSObject {
private var post: Post
var messageToDisplay: String {
if post.iLiked { return ... }
else { return .... }
}
var shouldShowHeart: Bool {
return iLiked && likes > 10
}
func startUpdate() {
// network request and update post
}
...
}
在我看来,为了使整个事情具有反应性,我必须听取Post 的每个属性和所有计算属性?我觉得不太对劲。
【问题讨论】:
标签: ios swift mvvm reactive-cocoa reactive-swift