2010-05-02 6 views
4

NSSize 및 NSPoint 인스턴스 변수를 갖는 모델 클래스가 있습니다. 이것은 사랑 스럽다.구조체를 사용한 바인딩 정리

이 개체에 대한 편집 인터페이스를 만들려고합니다. 내가 size.width 및 이것 저것에 바인딩하고 싶습니다. 이것은 물론 작동하지 않습니다.

이 문제에 대한 가장 깨끗하고, 대부분의 코코아 - 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

+0

@ andyvn22 : 일부 작업이 남아 있기 때문에 해당 부분을 제거했습니다. –

+0

이것은 아직도 나에게 혼란을줍니다. (그렇다면 왜 CGFloat를 사용합니까?). – andyvn22

관련 문제