Новое в ReactiveCocoa здесь. У меня есть модель представления (MVVM), представляющая страницу, подобную новостной ленте, как правильно прослушивать изменения в свойствах модели данных? В следующем примере startUpdate()
постоянно обновляет post
. Вычисленные свойства messageToDisplay
и shouldShowHeart
управляют некоторым событием пользовательского интерфейса.
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
и все вычисляемые свойства? Мне это кажется не совсем правильным.