2011-04-26 4 views
2

안녕하세요 모두 기본적인 질문을하겠습니다. 제 질문에 대한 많은 링크를 검색했지만 정확한 결과는 제공되지 않습니다. 내 질문은 없습니다. :매개 변수로 cgrect를 전달하는 방법 및 ipad에서 반환 유형으로 cgrect를 얻는 방법

내가하는 구형 가치와 내가하지만 아래의 코드

-(void)viewDidLoad{ 
    CGRect testRect=getNewRect(self.view.frame); 
} 
을 수정하시기 바랍니다 나에게 내가 그것을 구문이 잘못 될 수 있습니다 알고있는 오류를주고 하나의 방법을 썼다위한 몇 가지 변환을 사용하여 동일한 유형을 반환을 전달하려는

제 자신의 방법은 여기

CGRect getNewRect(CGRect normalRect){ 
    //some transformation 
    return tranfermedrect; 
} 
,

+2

작동하는 경우 – Eimantas

+0

메시지가 "충돌하는 유형의 getNewRect"와 같습니다. 메소드 이름을 변경하면 "최신 메소드 이름에 충돌하는 유형"이 표시됩니다. – ajay

+0

조기 재발송 주셔서 감사합니다 ... 구문 적으로 쓰는 중입니다 ... – ajay

답변

3

사용에 다음 줄을 추가 아래

-(void)viewDidLoad{ 
    CGRect testRect= [self getNewRect:self.view.frame]; 
} 

-(CGRect) getNewRect:(CGRect) normalRect{ 

    //some transformation 
    return tranfermedrect; 
} 

으로 시도 .. 사전에 저에게 당신의 제안에 감사를드립니다.

[self yourFunction:[NSValue valueWithCGRect:rectFrame]]; 

위의 줄은 간단한 메서드 호출이며 objective-C에서는 매개 변수로 CGRect를 보낼 수 없습니다. 그래서 당신은 NSValue로 CGRect로 변환해야합니다. 호출 된 함수에서

당신은 내가 당신을 도움이되기를 바랍니다 NSValue

yourView.frame = [rect CGRectValue]; 

에서 GGRect를 얻을 수 있습니다. 이 오류가 무엇입니까

+0

"을 객관적 -c로 보내면 CGRect를 매개 변수로 보낼 수 없다 '** 사실이 아닙니다. ** CGRect를 허용하는 메소드의 예는'UIView '클래스 참조를 참조하십시오. CGRect 값을 반환하는 인자 나 메소드. –

+1

@Bavarious, ok ... 선생님 그럼 내가 어떻게 CGRect 함수를 통해 매개 변수로 보내 주시기 바랍니다 ???????? – Tirth

+0

이 질문에 대한 다른 대답에 설명되어 있습니다. –

1

당신이 당신의 문제를 해결할 것입니다 .H 파일에 아래

-(CGRect) getNewRect:(CGRect) normalRect ; 
+1

Obj-C 클래스 내에서 C 함수를 사용하는 것은 문제가되지 않습니다. – kubi

+0

그는 왜 그렇게해서는 안됩니까? 또한 코드에는 특정 C++이 없습니다. –

+0

@ kubi : 당신 말이 맞아요.하지만 C++이 있습니다. – Jhaliya

0
-(void)viewDidLoad{ 
    CGRect testRect= [self getNewRect:self.view.frame]; 
    NSLog(@"New rect %@",NSStringFromCGRect(testRect)); 
} 

-(CGRect) getNewRect:(CGRect) normalRect{ 

    //some transformation 
    return tranformedRect; 
} 

볼?
+0

나에게 오류가 발생했습니다 ... 나는 testDectLoad가 아닌 상태로 testRect를 선언했습니다. – ajay

관련 문제