错误:分配中的类型不兼容

时间:2009-07-14 00:39:39

标签: objective-c cocoa compiler-errors

我正在编写一些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,在我的类中定义为一个实例变量,而button是一个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

3 个答案:

答案 0 :(得分:8)

buttonRect被声明为CGRect * - 即CGRect的指针。移除啪啪声,一切都会好的。

答案 1 :(得分:1)

仔细检查buttonRect:确定它没有被定义为CGRect。

答案 2 :(得分:0)

buttonRect是在其他地方定义的,还是在定义时需要给它一个类型?