@property 的本质是什么? @property = ivar + getter + setter; 下面解释下: “属性” (property)有两大概念:ivar(实例变量)、存取方法(access method = getter + setter)。 “属性” (property)作为 ...
分类:
其他好文 时间:
2016-10-16 14:13:46
阅读次数:
184
1、重复添加某个文件。解决办法:搜索工程,删除多余的文件; 2、文件添加引用错误,即后缀 .m 误写为 .h 。解决办法:改正,编译通过。 ...
分类:
其他好文 时间:
2016-08-26 20:04:00
阅读次数:
191
一 , Objective-C运行时定义了几种重要的类型。 Class:定义Objective-C类 Ivar:定义对象的实例变量,包括类型和名字。 Protocol:定义正式协议。 objc_property_t:定义属性。叫这个名字可能是为了防止和Objective-C 1.0中的用户类型冲突, ...
分类:
移动开发 时间:
2016-08-19 14:37:49
阅读次数:
485
Runtime 首先需要导入<objc/runtime.h> 一、Class 获取类的成员变量 Ivar *class_copyIvarList(Class cls,int *outCount); unsigned int count; Ivar *ivars = class_copyIvarLis ...
分类:
其他好文 时间:
2016-08-01 15:20:12
阅读次数:
169
1:@property 是什么? 在Objective-C中,@property 是声明属性的语法,它可以快速方便的为实例变量创建getter/setter方法。 2:@property 的本质? @property = ivar + setter + getter,实际上就是实例变量 + gett ...
分类:
其他好文 时间:
2016-07-05 22:19:26
阅读次数:
111
类内使用成员变量{}, 类外使用属性@property 基于上面的代码和输出,主要围绕OC类的变量、类的存取器方法、与变量相关的关键字、内存管理,下面是相关知识点的汇总: 一、属性和成员/实例变量 1, 属性和成员变量是什么? 属性:属性是 "@property" 修饰的元素 成员变量:成员变量是 ...
分类:
其他好文 时间:
2016-07-01 19:51:55
阅读次数:
154
// 解档 - (instancetype)initWithCoder:(NSCoder *)aDecoder { if (self = [super init]) { unsigned int count; Ivar* ivars = class_copyIvarList([self class] ...
分类:
移动开发 时间:
2016-06-04 00:23:32
阅读次数:
269
runtime实际运用场景 1.使用runtime可以读取iOS系统类有哪些属性,并通过kvc修改或者读取其值。 Ivar *class_copyIvarList(Class cls, unsigned int *outCount) 读取某个类所有属性和成员变量 objc_property_t *c ...
分类:
其他好文 时间:
2016-06-03 12:40:21
阅读次数:
163
上边代码通过创建Ivar(成员变量)的 抽象类, 返回我们需要的关于Ivar 的信息, 通过一个初始化方法创建,接下来我们看看该方法的具体实现 ivar_getOffset函数,对于类型id或其它对象类型的实例变量,可以调用object_getIvar和object_setIvar来直接访问成员变量 ...
分类:
其他好文 时间:
2016-05-23 17:15:05
阅读次数:
242
1.什么情况使用 weak 关键字,相比 assign 有什么不同?
2.怎么用 copy 关键字?
3.这个写法会出什么问题: @property (copy) NSMutableArray *array;
4.如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter?
5.@property 的本质是什么?ivar、getter、setter 是如何生成并添加到这...
分类:
移动开发 时间:
2016-05-12 19:04:56
阅读次数:
385