所以我有一个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方法,您可以在实现文件中覆盖它们。有人可以帮我解决这个问题。非常感谢您的帮助!
答案 0 :(得分:3)
将您的属性定义为:
@property (nonatomic) NSString *name;
@property (nonatomic) NSString *favoriteFood;
@property (nonatomic) NSString *sound;