我是Objective C的新程序员...我的代码中有一些问题,我不知道为什么我会收到错误... 这是我的代码: Rectangle.h:
#import <Foundation/Foundation.h>
@interface Rectangle : NSObject
{
int width;
int height;
}
@property(setter=setWidthOfRect: , getter=getWidth) int width;
@property(setter=setHeightOfRect: , getter=getHeight) int height;
@end
Rectangle.m:
#import "Rectangle.h"
@implementation Rectangle
@synthesize width, height;
@end
这是main.m:
#import <Foundation/Foundation.h>
#import "Rectangle.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Rectangle *rect = [[Rectangle alloc] init];
[rect setWidthOfRect:22];
[rect setHeightOfRect:28];
NSLog(@"the area is: %d", [rect getHeight] * [rect getWidth]);
}
return 0;
}
我不明白:&#34;面积是616 有什么帮助吗?
答案 0 :(得分:2)
摆脱属性宽度和高度以上的额外注意。属性生成您已指定的数据类型,在那里您可以定义set属性方法名称,获取属性名称以及其他属性标志。
答案 1 :(得分:2)
最好使用默认的getter / setter,只需写下这样的属性:
@property (nonatomic, assign) int width;
你甚至不需要写@synthesize
和ivars。你可以像这样使用它:
object.width = 5; // or
[object setWidth:5];
int width = object.width; // or
int width = [object width];