干净的绑定与结构
问题描述:
我有一个模型类,它有相当多的意义,有NSSize和NSPoint实例变量。这很可爱。干净的绑定与结构
我试图为这个对象创建一个编辑界面。我想绑定到size.width
和什么。这当然不起作用。
这个问题最干净,最Cocoa-y的解决方案是什么?当然我可能为我使用的每个结构的各个成员编写单独的访问器,但似乎应该有更好的解决方案。
答
您不必创建所有成员单独的访问器,你可以只创建一个你所关心的类型,例如包装:
@interface SizeWrapper : NSObject {
CGFloat width, height;
}
@property (readwrite) CGFloat width, height;
- (id)initWithSize:(NSSize)sz;
- (NSSize)sizeValue;
@end
@implementation SizeWrapper
@synthesize width, height;
- (id)initWithSize:(NSSize)sz {
if (self = [super init]) {
width = sz.width;
height = sz.height;
}
return self;
}
- (NSSize)sizeValue {
return NSMakeSize(width, height);
}
@end
这是有趣的,但我不知道如何将其应用于绑定文本字段。我是否仍然需要编写访问器? – andyvn22 2010-05-02 22:26:17
@ andyvn22:删除该部分,因为还剩下一些工作。 – 2010-05-03 01:00:34
这仍然让我心烦(为什么还要CGFloat!?),但我想它会做。 – andyvn22 2010-05-03 02:28:56