关联对象

来源:4-4 关联对象相关面试问题

慕慕8700898

2018-07-10





老师:成员变量和属性,按下面的代码理解对吗?如果对的,您讲的添加“成员变量”其实也是不可在.h和.m文件中声明出来的。

.h:

@interface LWDCategory : NSObject {
UIButton * _button;// 成员变量,也是实例变量 

int _totalNum; // 成员变量,不是实例变量 

}
@property (nonatomic , strong) UIButton * button; // 属性变量 

@end

.m:

@interface LWDCategory (){
UIButton * _innerButton; // 私有成员变量,也是私有实例变量

 int _innerTotalNum;// 私有成员变量,不是私有实例变量 }

 
@property (nonatomic , strong) UIButton * innerButton;// 私有属性变量

@end



写回答

1回答

于海

2018-07-10

你下面写的是扩展不是分类

0
3
慕移动5552166
回复
于海
老师,我觉得这样解释可能更恰当些: 属性:setter+getter 编译器在编译的时候,如果没有成员变量,会自动帮我们生成带_的同名成员变量。 分类是在运行时决议,编译器无法帮我们去生成了,所以需要通过关联对象去实现。
2023-02-15
共3条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程