我有一个模型类,它具有 NSSize 和 NSPoint 实例变量非常有意义。这很可爱。
我正在尝试为此对象创建一个编辑界面。我想绑定(bind)到 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
关于objective-c - 使用结构清理绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2754503/