@implementation PersonCenterViewController
@synthesize name = name_;
@synthesize sex = sex_;
@synthesize QQ = QQ_;
其中的“name_","sex_","QQ_"找不到声明,是什么用法呢,求解答!!
------解决方案--------------------
“name_","sex_","QQ_" 是 PersonCenterViewController 的实例变量
但是对外显示属性确是 name,sex,QQ
你可以看看 .h
应该写的是 @property ... name;
目的就是 属性和真正的实例变量 名称不一致
------解决方案--------------------
等号后面是设置别名,避免getter和实例变量的名称相同,有时候相同了,调用的时候就分不清是getter还是实例变量就会发生错误,所以加个下划线,来做实例变量,这是普遍的做法,当然可以区别的别名
------解决方案--------------------
在.h文件中定义一个属性,@property (nonatomic,strong) UIButton *touchButton;然后在.m文件中@implementation 类名下面写@synthesize touchButton = xxxx;xxxx可以写成你想定义的名称,如m_touchButton。此时,m_touchButton则为该类的成员变量,不需要专门在.h文件中专门写一遍成员变量的声明。成员变量和属性的区别是类的实例可以访问属性,而不能访问成员变量。@synthesize touchButton = xxxx;则避免了写get和set方法,并将属性和成员变量对应起来