代码之家  ›  专栏  ›  技术社区  ›  andyvn22

使用结构清除绑定

  •  4
  • andyvn22  · 技术社区  · 16 年前

    我有一个模型类,有NSSIZE和NSPOINT实例变量非常有意义。这很可爱。

    我正在尝试为此对象创建编辑界面。我想和 size.width 还有什么。当然,这不起作用。

    对于这个问题,最干净、最可口的解决方案是什么?当然我 能够 为我使用的每个结构的单个成员编写单独的访问器,但似乎应该有更好的解决方案。

    1 回复  |  直到 14 年前
        1
  •  3
  •   Georg Fritzsche    14 年前

    您不必为所有成员创建单独的访问器,只需为您关心的类型创建包装器,例如:

    @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