2012-12-15 1 views
0

Apple이 here으로 기록한 userVisibleDateTimeStringForRFC3339DateTimeString 메서드를 사용하려고합니다.가져온 메서드에서 선언되지 않은 식별자 오류 사용하기

그래서 처음에는 jhsDateFormatter라는 별도의 클래스를 생성하고 첫 에

- (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString; 

에서 수정 - (인 NSMutableString *) userVisibleDateTimeStringForRFC3339DateTimeString : (인 NSMutableString *) rfc3339DateTimeString : (있는 NSString *) rfc3339DateTimeFormatString;

그래서 원하는 날짜 형식 문자열이 될 두 번째 매개 변수를 전달할 수 있습니다.

나는 다음 내보기 controller.m에 새로운 클래스를 수입 :

#import "jhsDateFormatter.h" 

및 방법이 방법이라고 :

predicateMutableString = [userVisibleDateTimeStringForRFC3339DateTimeString:dateHolderMutableString :@"yyyy'-'MM'-'dd'"]; 

predicateMutableString가 viewController.h에 정의와의 합성을 .엠.

나는 빌드 오류 가지고 : 선언되지 않은 식별자의 사용 'userVisibleDateTimeSTringForRFC3339DateTimeString

그래서 내 수정 된 버전에서 주석을 내 클래스 파일의 원본 코드와 메소드 서명 사용 :

- (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString; 

을하고 전화 이 방법은 : enter image description here

나는 왜 메서드 호출이 받아 들여지지 않고 있는지 모르겠습니다. 나는 데이터 유형을 일치 시켰다고 생각한다.

무엇이 잘못 되었는가에 대한 아이디어를 알려주십시오.

감사

답변

0
당신은 아마 이런 식으로 당신의 방법을 선언 할

:

+ (NSMutableString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSMutableString *)rfc3339DateTimeString formatString:(NSString *)rfc3339DateTimeFormatString; 

(시작시 +, 두 번째 인수가 지금이라는 사실을 주 -에 공백이었다 당신의 유효하지만 이상한 코드)

그런 다음 당신은 다음과 같이 호출 것 :.

predicateMutableString = [jhsDateFormatter userVisibleDateTimeStringForRFC3339DateTimeString:dateHolderMutableString formatString:@"yyyy'-'MM'-'dd'"]; 

여기서 jhsDateFormatter는 새로운 클래스를 작성합니다.

예제 코드에서는 어떤 개체에 대해서도 메서드를 호출하지 않기 때문에 컴파일러가 불평하는 이유가됩니다.

+0

감사합니다. 제시, 당신의 대답은 완벽합니다. 나는 이것이 클래스 메쏘드라고 말하는 것 같아요. 그래서 먼저 클래스 파일에 +로 선언해야하고 메소드 호출에서 클래스를 참조해야합니다. – Jazzmine