我是Objective-C的新手,不完全确定我在哪里出错了。 我试图让程序打印一个正方形的区域和周边。 该程序告诉我,我正在向周边和区域方法发送未声明的标识符
#import <Foundation/Foundation.h>
@interface Rectangle : NSObject
{
int width;
int height;
}
-(void) setWidth: (int) w;
-(void) setHeight: (int) h;
-(int) width;
-(int) height;
-(int) area;
-(int) perimeter;
@end
@implementation Rectangle
-(void) setWidth:(int)w
{
width = w;
}
-(void) setHeight: (int)h
{
height = h;
}
-(int) width
{
return width;
}
-(int) height
{
return height;
}
-(int) area
{
return width*height;
}
-(int) perimeter
{
return (2*width + 2*height);
}
@end
int main(int argc, const char * argv[])
{
@autoreleasepool {
Rectangle *rect1 = [[Rectangle alloc] init];
[rect1 setWidth:2];
[rect1 setHeight:7];
NSLog(@"The perimeter of rect1 is: %i and the area is: %i", area, area);
}
return 0;
}
答案 0 :(得分:1)
没有变量命名区域,它是一种方法。尝试[rect1 area];
和[rect1 perimeter];
,您已经创建了对象并正确使用了两种方法,您在该区域滑倒:(祝你好运!
答案 1 :(得分:1)
出于好奇,您使用的学习资源是什么?
我强烈推荐Paul Hegarty来自斯坦福大学的iOS开发课程。全部免费,它真正指导您完成所有事情(ObjC语法; iOS SDK等)
答案 2 :(得分:0)
我将行改为:
NSLog(@"The perimeter of rect1 is: %i and the area is: %i", [rect1 area], [rect1 perimeter]);
它给了我正确的结果,谢谢你的帮助!