0

我是 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;
}
4

3 回答 3

1

出于好奇,您正在使用哪些学习资源?

我强烈推荐斯坦福大学 Paul Hegarty 的 iOS 开发课程。全部免费,它真正指导您完成一切(ObjC 语法;iOS SDK 等)

http://www.stanford.edu/class/cs193p/cgi-bin/drupal/

于 2012-08-21T21:10:42.093 回答
1

没有名为 area 的变量,它是一种方法。尝试一下[rect1 area];[rect1 perimeter];您已经创建了对象并正确使用了两种方法,您在该区域滑倒了:(祝你好运!

于 2012-08-21T20:59:16.760 回答
0

我将行更改为:

NSLog(@"The perimeter of rect1 is: %i and the area is: %i", [rect1 area], [rect1 perimeter]);

它给了我正确的结果,感谢您的帮助!

于 2012-08-21T21:20:54.237 回答