2010-05-02 79 views
4

我有一個模型類,它有相當多的意義,有NSSize和NSPoint實例變量。這很可愛。乾淨的綁定與結構

我試圖爲這個對象創建一個編輯界面。我想綁定到size.width和什麼。這當然不起作用。

這個問題最乾淨,最Cocoa-y的解決方案是什麼?當然我可能爲我使用的每個結構的各個成員編寫單獨的訪問器,但似乎應該有更好的解決方案。

回答

3

您不必創建所有成員單獨的訪問器,你可以只創建一個你所關心的類型,例如包裝:

@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 
+0

這是有趣的,但我不知道如何將其應用於綁定文本字段。我是否仍然需要編寫訪問器? – andyvn22 2010-05-02 22:26:17

+0

@ andyvn22:刪除該部分,因爲還剩下一些工作。 – 2010-05-03 01:00:34

+0

這仍然讓我心煩(爲什麼還要CGFloat!?),但我想它會做。 – andyvn22 2010-05-03 02:28:56