programing

@synthized getters를 재정의하는 방법은 무엇입니까?

muds 2023. 8. 14. 23:10
반응형

@synthized getters를 재정의하는 방법은 무엇입니까?

속성 합성 게터를 무시하는 방법은 무엇입니까?

메소드를 수동으로 구현하기만 하면 됩니다. 예:

- (BOOL)myBoolProperty
{
    // do something else
    ...
    return myBoolProperty;
}

그러면 컴파일러가 getter 메서드를 생성하지 않습니다.

속성 정의 내에서 다음과 같이 getter 및 setter 메서드를 지정할 수 있습니다.

@property (nonatomic, retain, getter = getterMethodName, setter = setterMethodName) NSString *someString;

게터만, 세터만 또는 둘 다 지정할 수 있습니다.

당신만의 게터를 구현하기만 하면 컴파일러는 게터를 생성하지 않습니다.세터도 마찬가지입니다.

예:

@property float value;

다음과 같습니다.

- (float)value;
- (void)setValue:(float)newValue;

추가하고 싶은 것은 다음을 추가하기 전까지는 getter/setter로 BOOL 속성을 재정의할 수 없었습니다.

@synthesize myBoolProperty = _myBoolProperty;

따라서 전체 코드는 다음과 같습니다.

헤더 파일:

@property  BOOL myBoolProperty;

구현 파일:

@synthesize myBoolProperty = _myBoolProperty;


-(void)setMyBoolProperty:(BOOL) myBoolPropertyNewValue
{
    _myBoolProperty = myBoolPropertyNewValue;
}

-(BOOL) myBoolProperty
{
    return _myBoolProperty;
}

언급URL : https://stackoverflow.com/questions/5047399/how-to-override-synthesized-getters

반응형