我不确定这个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.如果您需要我的实现中的代码来帮助解决这个问题,请发表评论,我很乐意发布它.
您是否尝试过添加参数名称?
-(void)setNumberOfSides:(int)sides;
-(void)setMinimumNumberOfSides:(int)sides;
-(void)setMaximumNumberOfSides:(int)sides;
Run Code Online (Sandbox Code Playgroud)