2012-07-30 2 views
0

일부 메타 정보에 대해서는 으로 UIButton을 확장하고 싶습니다. 내가 어떻게 할 수 있니?UIButton에 NSString 카테고리 확장 추가

나는이로 시작하는 오전 :

@interface UIButton (neoUtils) 

+ (UIButton *)neoName:(NSString *)buttonName; 

@end 

와하는 .m

#import "UIButton+NAME.h" 

@implementation UIButton (neoUtils) 

+ (UIButton *)neoName:(NSString *)buttonName { 
    UIButton *button = [UIButton neoName:buttonName]; 
    NSLog(@"%@",button); 
    return button; 
} 

@end 

이 옳은 길인가를? 그리고 만약 그렇다면 어떻게 사용합니까?

+0

이 질문은 중복되지 않지만 이전에는 다른 상황에서 대답되었습니다. http://stackoverflow.com/questions/10414718/subclassing-nsnumber를 참조하십시오. –

+0

그게 내가 찾는 것 같다. 감사합니다. – malaki1974

답변

1

나는

@interface UIButton (neoUtils) 

가있는 UIButton + NAME.h에 선언되어 있다고 가정하고있다. 이 recurevely 방법 자체를 호출하기 때문에

+ (UIButton *)neoName:(NSString *)buttonName { 
    UIButton *button = [UIButton neoName:buttonName]; // <- this one 
    NSLog(@"%@",button); 
    return button; 
} 

: 당신이 방법을 부르는 그 프로그램이 즉시 재귀 루프를 입력 것처럼 모든

먼저, 보인다.

어쨌든 확장 된 객체가 상태를 가져야한다고 생각하면 (메타 정보의 NSString을 "기억해야합니다") 나는 카테고리의 요구 사항을 충족시킬 수 있다고 믿지 않습니다. 클래스. 그렇다면 당신의 솔루션은 내가 생각한 바른 단계에서 시작하지 않았습니다.

대신 난 그냥 당신이 다음 메타 정보와 새로운있는 UIButton을 가지고 프로젝트에 전 세계적으로 가져올 수

@interface XYMetaInfoButton : UIButton 

@proerty (nonatomic, [strong|retain]) NSString *name; 

@end 

같은 클래스를 생성 vould. 하지만 그럴 수도 있습니다. 어쩌면 누군가가 더 나은 해결책을 가지고있을 수도 있습니다.

+0

제안 해 주셔서 감사합니다. – malaki1974

관련 문제