同时重写getter、setter方法,Use of undeclared identifier错误
2017-03-25 17:50
946 查看
今天遇到一个问题,在一个类中定义了一个属性
如果同时重写getter和setter方法,引用_m_FamilyBabyList就会报Use of undeclared identifier的错误。
需要在@implementation下加入这句才可以
原因是:用@property声明的成员属性,相当于自动生成了setter getter方法,如果重写了set和get方法,与@property声明的成员属性就不是一个成员属性了,是另外一个实例变量,而这个实例变量需要手动声明。所以会报错误。@synthesize 声明的属性=变量。意思是,将属性的setter,getter方法,作用于这个变量。
@property (nonatomic, strong) NSMutableDictionary *m_FamilyBabyList;
如果同时重写getter和setter方法,引用_m_FamilyBabyList就会报Use of undeclared identifier的错误。
需要在@implementation下加入这句才可以
@synthesize m_FamilyBabyList = _m_FamilyBabyList;
原因是:用@property声明的成员属性,相当于自动生成了setter getter方法,如果重写了set和get方法,与@property声明的成员属性就不是一个成员属性了,是另外一个实例变量,而这个实例变量需要手动声明。所以会报错误。@synthesize 声明的属性=变量。意思是,将属性的setter,getter方法,作用于这个变量。
相关文章推荐
- 同时重写属性的getter/setter方法和readonly的使用
- OC 语言- 同时重写setter方法或者getter方法会报错
- property生成属性的时候,同时重写setter与getter方法,那么实例变量不自动生成
- iOS积累-为什么使用属性之后, 同时重写setter,getter方法会报错
- iOS中@Property声明的属性同时重写getter和setter方法报错问题
- ios 同时重写setter和getter方法
- MRC下setter、getter方法写法、重写dealloc方法
- iOS-OC为什么需要重写setter或getter方法?
- 重写setter与getter方法以及其使用情况
- 关于重写getter的方法和setter方法
- js 匿名函数,动态生成setter,getter方法
- Struts2的getter()和setter()方法
- Java网络编程(18):Socket类的getter和setter方法(2)
- getter和setter方法
- MyEclipse自动生成Getter、Setter和构造方法
- ID的生成策略(hibernate的id生成策略,主键类为什么需要实现序列化接口,同时还要重写hashCode()和equals()方法)
- object-c 的 getter 和 setter 方法
- 关于java的setter&getter方法的注意事项
- Eclipse自动生成Getter、Setter和构造方法
- Java网络编程从入门到精通(18):Socket类的getter和setter方法(2)