摘要: 一,场景一 int arr[4] = {10, 20, 30, 40}; int (*pp)[4] = &arr; int* p = (int*)(pp + 1); NSLog(@"%d", *(p-2)); // 结果:30二,场景二 int arr[4] = {10, 20, 30, ... 阅读全文
posted @ 2015-10-02 23:12 花园晓雨 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 一, 简介 // 默认情况下,block是在栈中,随时可能被回收 void (^hgBlock)() = ^{ NSLog(@"一个简单的快语句"); }; // 对快语句做一次cope操作以后,block的内现存就会放到堆里面. [hgBlock copy]; // 或者// ... 阅读全文
posted @ 2015-10-02 21:39 花园晓雨 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 本博客,直接从分类说起.都知道OC中的分类是不能直接添加属性的,意思间接是能添加属性的.那应该怎么添加呢?那就要用到运行时(runtime)机制. 一,运行时金典用法之一 现在,给HGPerson类增加一个分类:HGPerson+HG.h,给一个属性如下: @property (nonat... 阅读全文
posted @ 2015-10-02 21:10 花园晓雨 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 一,直接上code:// 在快语句中要改变快语句外面的值,有三种情况:static,__block与全局变量 __block int a = 1; // 定义快语句 void (^hgBlock)() = ^{ a = 10; NSLog(@"我在快语句中... 阅读全文
posted @ 2015-10-02 19:55 花园晓雨 阅读(358) 评论(0) 推荐(0) 编辑