13、Cocoa Bindings:简化视图与模型交互的利器

Cocoa Bindings:简化视图与模型交互的利器

1. 传统方法的问题与Cocoa Bindings的引入

在传统的开发中,将控制器对象连接到各种视图对象以显示和获取值时,通常会为每个视图编写一个小的操作方法,还会有一个大的更新方法来一次性更新所有视图内容。这种方法在简单项目中可行,但存在扩展性问题。例如,当有大量视图时,控制器会有大量小操作方法和一个巨大的更新方法。而且,控制器与视图之间存在紧密耦合,若更改视图类型,需要修改大量相关代码。

Cocoa Bindings是苹果自Mac OS X 10.3引入的技术,它能解决上述问题。通过Cocoa Bindings,可使用Interface Builder配置视图,使其自动从模型对象获取值并将更改传递回模型对象。只需指定要处理的控制器对象和用于获取和设置值的键,就可以通过自定义控制器类或苹果提供的通用控制器类访问模型对象。采用这种技术后,控制器类通常无需了解具体的视图对象,可减少大量代码。

2. 使用Cocoa Bindings处理简单控件

以一个角色扮演游戏中游戏管理员使用的应用为例,该应用可随机创建角色、怪物和地下城。主窗口包含创建随机游戏对象的按钮和显示结果的文本字段,还有一个偏好设置窗口,用户可在其中指定游戏对象创建的参数。

2.1 创建DungeonThing项目
  • 启动Xcode,选择“File - New Project”,选择“Cocoa Application”,指定项目创建目录并命名为“DungeonThing”。
  • 创建DungeonThingAppDelegate类(若使用Snow Leopard,该
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值