我正在尝试使用BIND框架将UITableView绑定到可以编辑内容的UITextfield。
我正在努力实现与在Mac OSX中完成绑定的方式非常相似的东西。使用视图绑定数据源,让用户进行更改,保存后验证后保存数据。
通常,这是通过订阅委托或从textfield观察valueChanged
事件来完成的。我想尝试一种新方法来减少这种情况,这就是我遇到BIND framework的方式。
它鼓励使用通常在.NET中看到的MVVM框架。绑定就像使用视图组件映射模型的键路径一样简单。但我发现很难实现双向绑定,从模型到组件再返回。
BINDINGS(MHPersonNameViewModel,
BINDViewModel(name, ~>, textLabel.text),
BINDViewModel(ID, ~>, detailTextLabel.text),
nil);
有人能指出我正确的方向吗?
答案 0 :(得分:0)
这是一个迟到的答案,甚至不是你问题的答案,但我希望它仍然有用。
看看https://github.com/mutech/aka-ios-beacon。这是一个绑定框架,它集成到Interface Builder中(默认情况下)使用视图控制器作为根视图模型。
您不必编写任何代码来初始化绑定。在您的示例中,假设视图控制器具有(KVO兼容)属性" name"和" ID",你只需要设置UILabel"文本绑定" name和ID的属性(在界面构建器的属性面板中找到它们,并为视图控制器启用绑定(也在属性面板中)。
这应该是建立绑定所需要做的全部工作。
在AKABeacon最高0.1.1的版本中,"启用绑定"还没有。在这种情况下,您的视图控制器必须从AKAFormViewController继承。