随笔分类 -  OC基础

摘要:runtime机制为我们提供了一系列的方法让我们可以在程序运行时动态修改类、对象中的所有属性、方法。下面就介绍运行时一种很常见的使用方式,字典转模型。当然,你可能会说,“我用KVO直接setValuesForKeysWithDictionary: 传入一个字典一样可以快速将字典转模型啊”,但是这种方法有它的弊端,只有遍历某个模型中所有的成员变量,然后通过成员变量从字典中取出对应的值并赋值最为稳妥,由于篇幅有限,这里暂且不讨论那么多,你权且当作多认识一种数据转模型的方式,以及初步认识一下runtime的强大。1、假设我定义了一个类(随便写的,不要纠结名字,.m文件啥也没写);@interface 阅读全文
posted @ 2014-02-24 22:03 2020_xx 阅读(694) 评论(0) 推荐(0)
摘要:最近有个同事问我关于“runtime机制”的问题,我想可能很多人对这个都不是太清楚,在这里,和大家分享一下我对于runtime机制的理解。要深入理解runtime,首先要从最基本的类与对象开始,本文将详细讲解OC中类与对象的结构层次,后续将逐渐更新如何利用runtime操作类。首先,我们从/usr/include/objc/objc.h和 runtime.h 中找到对 class 与 object 的定义: 1 /// An opaque type that represents an Objective-C class. 2 typedef struct objc_class *Class; 阅读全文
posted @ 2014-02-23 13:39 2020_xx 阅读(2304) 评论(2) 推荐(1)
摘要:1、深复制与浅复制的概念->浅复制(shallow copy)概念在SDK Guides中(搜索copy),官方给出的浅复制概念为:Copyingcompound objects, objects such as collection objects that can contain other objects, must also be done with care. As you would expect, using the=operator to perform a copy on these objects results in a duplication of the obj 阅读全文
posted @ 2014-01-01 10:16 2020_xx 阅读(294) 评论(0) 推荐(0)