2009-07-14 6 views
2

내가 어떤 목적-C 코드를 쓰고 있어요 그리고 난이 작동하지 않는 이유를 알아낼 수 없습니다에서 호환되지 않는 유형 :오류 : 할당

buttonRect = CGRectMake(0,0,100.0,100.0);//error:incompatible types in assignment 
CGRect newFrame = CGRectInset(buttonRect, -0.2, -0.2);//error:incompatible type for argument 1 of CGRectInset 
button.frame = newFrame; 

buttonRect이 CGRect 내 클래스의 인스턴스 변수로 정의됩니다, 및 단추는 또한 인스턴스 변수로 정의 된 UIButton입니다. 왜 이것이 작동하지 않습니까? 내 헤더 파일 :

// 
// MyViewController.h 
// HelloWorld 
// 
// Created by RCIX on 7/10/09. 
// Copyright 2009 __MyCompanyName__. All rights reserved. 
// 

#import <UIKit/UIKit.h> 


@interface MyViewController : UIViewController { 
    UITextField *textField; 
    UILabel *label; 
    NSString *string; 
    UIButton *button; 
    CGRect *buttonRect; 
} 

@property (nonatomic, assign) CGRect *buttonRect; 
@property (nonatomic, retain) IBOutlet UITextField *textField; 
@property (nonatomic, retain) IBOutlet UILabel *label; 
@property (nonatomic, retain) IBOutlet UIButton *button; 
@property (nonatomic, retain) NSString *string; 

- (IBAction)helloButtonDown:(id)sender; 
- (IBAction)helloButtonUp:(id)sender; 

@end 
+0

buttonRect의 선언을 복사하여 붙여 넣습니다. – Chuck

답변

8

buttonRectCGRect *으로, 즉 CGRect에 포인터으로 선언됩니다. 표시를 제거하고 모두 잘 될 것입니다.

+1

그게 효과가 있어요. 어떻게 그렇게 간단한 것을 놓칠 수 있습니까? * 이마를 치다 * – RCIX

+0

좋은 캐치! 간과하기 쉽고, 매우 쉽습니다. –

+0

내가 말했지;) – IlDan

0

이 buttonRect가 다른 곳에서 정의 또는 당신은 당신이 그것을 정의 할 때 그것을 유형을 제공해야 할 수 있나요?

+0

클래스의 인스턴스 변수가 사용 중입니다. – RCIX

+0

어떻게 정의되어 있습니까? 그냥 우리는 모든 정보를 볼 수 있습니다. –

1

두 번 클릭 버튼 : CGRect로 정의되지 않았는지 확인하십시오.

+0

아니요. 나는 그것을 세배로 확신했다. – RCIX

관련 문제