2011-03-21 7 views
0

다른 질문을 기반으로 여러 가지 방법을 시도했지만 여기서는 다른 클래스를 호출하여 컴파일 할 수 없습니다.도움, 다른 클래스의 메서드를 호출 할 수 없습니다

저는 연산을 처리하기위한 전용 클래스, 예를 들어 Arithmetic 클래스를 작성하고 있습니다. 클래스 변수가 없습니다. 클래스를 하위 클래스로 지정합니다 (NSObject를 실패로 시도했지만). 이 유형의 방법이있을 것이다 : 나는 같은 정적 방식의 방법으로, 다른 클래스에서 호출 할

+ (NSString *)calculateEnergy:(NSString *)weight; 

:

self.label.text=[arithmetic calculateEnergy:@"8.0"]; 

곳 '산술 * 산술'선언 주어진다 헤더의 retain 속성 (합성 등) 및 calculateEnergy 메서드에 액세스하려는 클래스의 구현

[(Arithmetic *) arithmetic calculateEnergy:@"8.0"]; 

마다에 "액세스 알 수없는 'calculateEnergy'게터 방법"

가 사전에 너무 감사를 받고 :

나는 그러한 변화 등 다양한 제안을 시도했습니다!

+0

이 클래스를 NSObject의 하위 클래스로 만들려고했을 때 "실패"로 보았던 것은 무엇입니까? –

+0

누군가가 당신에게 좋은 대답을 줄 수 있다면, 당신은 친절하게 그들의 대답을 받아 들여야합니다. – SK9

+0

@ SK9 : 아직 제안을 실행할 기회가 없었습니다. 불행히도 코딩을 위해 맥북을 빌려야합니다. 오늘 밤에 액세스 할 수 있습니다. 대단히 앞으로 그들을 테스트하고 받아들이거나 다시 언급 - 모두의 도움을 주셔서 너무 고마워요! – Ernest

답변

1

전체 그림이 없지만 메서드 정의는 인스턴스 메서드가 아닌 클래스 수준의 정적 메서드 용입니다. 당신은 또한 당신이 가지고있는 메소드를 호출하는 Arithmetic의 인스턴스를 만들 필요가 없습니다 것입니다

self.label.text = [Arithmetic calculateEnergy:@"8.0"]; 

로 호출 할 것이다.

0

arithmeticArithmetic의 인스턴스가 아닙니까? 대신에 self.label.text=[Arithmetic calculateEnergy:@"8.0"];을 시도하면 정상적으로 처리됩니다.

관련 문제