【发布时间】:2016-03-13 19:26:42
【问题描述】:
我正在创建简单的联系人应用程序,尝试学习 ReactiveCocoa 和 MVVM。 我将单元格的 ViewModel 数组存储在 tableView 的 ViewModel 中。当用户进入 tableView 的编辑模式时,某些单元格的 ViewModel 的某些属性可以随着用户更改单元格文本而改变。我想观察这些变化以启用/禁用完成按钮,并相应地启用/禁用将数据保存到模型的信号。 如何在 tableViews 视图模型中观察这些变化?
这是我尝试使用的一段代码:
-(RACSignal *)executeCheckChange {
return [RACObserve(self, cellViewModels)
map:^id(NSArray *viewModels) {
for (id viewModel in viewModels) {
if([viewModel isKindOfClass:[STContactDetailsPhoneCellViewModel class]])
{
STContactDetailsPhoneCellViewModel *phoneViewModel = (STContactDetailsPhoneCellViewModel *)viewModel;
if([phoneViewModel isChanged])
return @(YES);
}
}
return @(NO);
}];
}
但是这个RACObserve只有在数组本身改变时才会被调用,而不是数组的元素。
【问题讨论】:
标签: ios objective-c mvvm reactive-cocoa