摘要: 一个程序的运行起来后,其在内存中有5个区域 1. 程序代码区 这个很简单,代码要执行,肯定要加载进内存, 我们不必关心。 2. 文字常量区 一般我们这样定义一个字符串时,其是在文字常量区的: char* s1 = "hello, world"; char* s2 = "hello, world"; 阅读全文
posted @ 2018-01-25 23:57 gaogaihui 阅读(2858) 评论(0) 推荐(0) 编辑
摘要: 深浅复制的使用场景: 在@property里面作为关键字使用,在set方法里面调用 【 obj copy】生成对象并返回 正常情况:使用retain strong的时候是这样 -(void)set:(nssing*)str { //经典设置器 if (_string != str) _string 阅读全文
posted @ 2018-01-25 23:54 gaogaihui 阅读(197) 评论(0) 推荐(0) 编辑
摘要: runloop的相关类: CFRunLoop CFRunLoopMode CFRunLoopTimer CFRunLoopSource CFRunLoopObserve 每一个线程都对应一个runloop 主线程对应的runloop系统自动帮我们创建好了 子线程的runloop需要我们自己手动创建 阅读全文
posted @ 2018-01-25 23:51 gaogaihui 阅读(98) 评论(0) 推荐(0) 编辑