Property Setter和Getter无法覆盖

时间:2015-07-22 17:31:02

标签: ios objective-c

所以我有一个Animal类的Objective-C头文件:

#import <Foundation/Foundation.h>

@interface Animal : NSObject

@property NSString *name;
@property NSString *favoriteFood;
@property NSString *sound;

@property float weight;

-(instancetype) initWithName:(NSString *) defaultName;

-(void) getInfo;

-(float) getWeightInKg: (float) weightInLbs;

-(NSString *) talkToMe: (NSString *) myName;

-(int) getSum: (int) num1
   nextNumber: (int) num2;

@end

由于某种原因,当我尝试在Animal类的实现文件中覆盖@property NSString * name的setter或getter方法时,我无法这样做,它给了我一个警告说&#34;可写的原子财产&#39; name&#39;不能将合成的getter与用户定义的setter配对#34;我在这里做错了吗?因为我认为@property会自动创建一个ivar,setter和getter方法,您可以在实现文件中覆盖它们。有人可以帮我解决这个问题。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

将您的属性定义为:

@property (nonatomic) NSString *name;
@property (nonatomic) NSString *favoriteFood;
@property (nonatomic) NSString *sound;