2009-07-14 153 views
2

我寫了一些Objective-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 2009-07-14 00:52:49

回答

8

buttonRect被聲明爲CGRect * - 即指針到CGRect。刪除圖示,一切都會好的。

0

是buttonRect別處定義或你需要給它一個類型,當你確定了嗎?

+0

它是我正在使用的類中的一個實例變量。 – RCIX 2009-07-14 00:47:22

+0

它是如何定義的?只是讓我們看到所有的信息。 – 2009-07-14 00:51:46

1

雙擊buttonRect:確定它沒有被定義爲CGRect。

+0

不,是的。我對此做了三重保證。 – RCIX 2009-07-14 00:51:35