';'之前的预期标识符 objective-c中的标记

And*_*rew 0 objective-c

我不确定这个setter函数声明有什么问题,因为同一个类中的其他setter函数具有相同的语法,并且它们不会导致错误.我认为在此声明之前可能是行中的语法错误,但我也检查过这些并且似乎无法找到原因.这是代码:

#import <Foundation/Foundation.h>


@interface PolygonShape : NSObject {

}

@property int numberOfSides;
@property int minimumNumberOfSides;
@property int maximumNumberOfSides;
@property (readonly) float angleInDegrees;
@property (readonly) float angleInRadians;
@property (readonly) NSString *name;

-(void)setNumberOfSides:(int);   // Error: expected idenitifier before ';' token
-(void)setMinimumNumberOfSides:(int);
-(void)setMaximumNumberOfSides:(int);

-(id)initWithNumberOfSides:(int)sides minimumNumberOfSides:(int)min maximumNumberOfSides:(int)max;
-(id)init;

-(float)angleInDegrees;
-(float)angleInRadians;

-(NSString*)name;

-(NSString*)description;

@end
Run Code Online (Sandbox Code Playgroud)

我也认为这可能是因为我在实现中合成了函数,但我也在使用setMinimumNumberOfSides和setMaximumNumberOfSides.如果您需要我的实现中的代码来帮助解决这个问题,请发表评论,我很乐意发布它.

Dan*_*ite 9

您是否尝试过添加参数名称?

-(void)setNumberOfSides:(int)sides;
-(void)setMinimumNumberOfSides:(int)sides;
-(void)setMaximumNumberOfSides:(int)sides;
Run Code Online (Sandbox Code Playgroud)