2011-03-07 2 views
0

다음과 같이 내 개체 선언 다음에NStimeInterval 속성 오류

-(NSTimeInterval)getTimeInterval:(NSString*)timeStr 
{ 
    NSTimeInterval interval; 
    //some code 
    return interval; 
} 


-(void) func:(NSString*)timeInterval 
{ 
    My *my = [[My alloc] init]; 
    my.time = [self getTimeInterval:timeInterval]; 
} 

: 어딘가에 코드에서

my.h

@interface My:NSObject{ 
    NSTimeInterval time; 
} 
@property (assign) NSTimeInterval time; 
@end 

my.m

@implementation My 
@synthesize time; 
@end 

my.time = [self getTimeInterval:timeInterval]; 

내가 오류 얻을 : 문제는 여기서 " 'setTime'의 인수 1 호환되지 않는 유형을"

사람은 말해 줄 수 있습니까?

+0

설명에 잘못된 것이 없습니다. 나는이 질문에 의아해했다. (위의 내용을 보지 못했다.) 아주 단순한 프로젝트에서 XCode에 그것을 복제하고 아무런 오류도 없었다. – Bourne

+0

'getTimeInterval :'은'- (NSTimeInterval *) getTimeInterval : (NSString *) timeStr'과 같은 것이 아니라'- (NSTimeInterval) getTimeInterval : (NSString *) timeStr'과 똑같이 선언되어 있습니까? 너무)? – Jilouc

+0

여러분, 저를 해결책으로 안내해 주셔서 감사합니다. 내 코드는 exeactly 게시했지만, 나는 함수가 .h 파일에 선언되지 않았다. 나는이 경우 클래스가 함수에 응답하지 않을 수도 있다는 경고 메시지를 보았지만 오류가 발생한 것은 이번이 처음입니다. – Misha

답변

0

"getTimeInterval"함수는 문자열을 인수로 사용하며 함수에 NSTimeInterval/double을 전달하여 경고를 발생시키는 것으로 가정합니다.

-(NSTimeInterval)getTimeInterval:(NSString*)timeStr 

NSTimerInterval 매개 변수를 사용하려면 (두 배로 말할 수있는 멋진 방법입니다). 문자열 표현을 전달하고 NSTimeInterval을 다시 얻으려는 경우 코드에 버그가 있으며 timeInterval 변수를 시간이 포함 된 문자열 변수로 변경해야합니다.

0

이렇게 많은면에서 이상하게 보입니다.

저는 NSTimeInterval이 double에 대한 typedef 일 뿐이므로 잘못 정의 된 속성 정의를 만듭니다. 그것을 제거하고 그것이 작동하는지 확인하십시오.