2012-11-29 2 views
0

내 iPhone 앱에는 isAddressCell이라는 BOOL이 있습니다. 위대한 작품이 잘 작동하고 이것을 호출 할 수 있습니다.사용자 정의 BOOL 게터/세터?

[cell setIsAddressCell:YES]; 

문제없이.

그러나 사용자 정의 setter 메서드를 만드는 방법을 둘러 보았고 행운을 만들어 내지 못했고 BOOL이 실제로 설정되지 않은 것으로 보입니다. 내가 실패한 setter 메소드 코드는 아래에있다.

모두 값에 따라 setIsAddressCell이 호출 될 때 수행하고 싶습니다. 특정 다른 작업이 수행됩니다. 간단합니다. 당신이 도울 수 있기를 바랍니다.

현재, 비 기능적 세터 방법 :

@property (nonatomic, assign, setter = setIsAddressCell:) BOOL isAddressCell; 

-(void)setIsAddressCell:(BOOL)addressCell 
{ 
    if (addressCell) 
    { 
     //Do stuff... 
    } 
    else 
    { 
     //Do different stuff... 
    } 
} 
+1

자동 생성 된 setter도'setIsAddressCell :'이기 때문에'setter = setIsAddressCell :'이 중복됨에 유의하십시오. – Alladinian

+0

그래서 메소드 이름을 변경하고 싶지 않으면 속성에 세터를 추가 하시겠습니까? –

+1

예. 다른 메소드와 마찬가지로 기본 메소드를 대체합니다. – Alladinian

답변

1

제가 더미 존재 하였다. 난 아직도 잘못하고 있어요 경우 말해,하지만 난 그게이 좋아이 있어야합니다

-(void)setIsAddressCell:(BOOL)addressCell 
{ 
    if (addressCell) 
    { 
     //Do stuff... 
    } 
    else 
    { 
     //Do different stuff... 
    } 

    isAddressCell = addressCell; 
} 

isAddressCell = addressCell;

그 비트가 핵심입니다. 나는 수동 설정 메소드 끝에 값을 설정하지 않았습니다. 도.

+0

물론 있습니다. 나는 당신이 "// Do stuff ..."와 "// Do do different stuff ..."에서 정확히 무엇을하는지 묻고 싶었고 setter 메서드에서 실제로 속성을 설정하는 방법을 설명했습니다. 마지막 설정에서 속성 값은 세터의 모든 것입니다. :) –

관련 문제