上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 25 下一页

2018年9月11日

OC语言 - 内存管理:strong | weak | unsafe_unretained | autoreleasing

摘要: 前言 1 -对 weak 和 strong 描述最多的就是:它们由 ARC 引入,weak 相当于 MRC 中的 assign,但 weak 是用于修饰对象,两者都不会造成引用计数加 1;strong 相当于 MRC 中规定的 retain,它会造成引用计数加 1 2 - strong 指针能够保持 阅读全文

posted @ 2018-09-11 15:44 低头捡石頭 阅读(69) 评论(0) 推荐(0) 编辑

iOS开发 - 开发中容易遇到的问题

摘要: ▶ 循环引用问题 循环引用的本质问题就是双方都强引用了彼此,下面以 MRC模式 为例 // - main.m #import <Foundation/Foundation.h> #import "Person.h" #import "Animal.h" int main(int argc, cons 阅读全文

posted @ 2018-09-11 15:09 低头捡石頭 阅读(25) 评论(0) 推荐(0) 编辑

OC语言 - 内存管理:copy | 深拷贝 | 浅拷贝 | 自定义拷贝

摘要: copy 实现原理 1 - copy 修饰属性时,其 setter/getter 方法内部实现原理同 retain 类似 // - Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property(no 阅读全文

posted @ 2018-09-11 15:05 低头捡石頭 阅读(31) 评论(0) 推荐(0) 编辑

OC语言 - 内存管理:autorelease | 内存管理原则

摘要: autorelease 1 - 工作原理 ① 当对一个对象发送 autorelease 消息,就会把这个对象扔到离它最近的自动释放池中;当自动释放池被释放的时候,就会把池中管理的 autorelease 对象逐一拿出来发送一次 release 消息 ② autoreleasepool 管理的对象是以 阅读全文

posted @ 2018-09-11 15:01 低头捡石頭 阅读(29) 评论(0) 推荐(0) 编辑

OC语言 - 内存管理:字符串 | 容器 | 点语法

摘要: 字符串 1 - 在使用 NSString、NSDate...等轻量数据类型时,它们的引用计数有时会受到 Tagged Pointer 影响,但这并不会影响内存管理原则 1 // 常量区字符串无须管理内存,于 retain/release 操作无关 2 NSString *strA = @"妇好"; 阅读全文

posted @ 2018-09-11 14:38 低头捡石頭 阅读(38) 评论(0) 推荐(0) 编辑

OC语言 - 内存管理:retain内部实现

摘要: retain 1 - Xcode 勾选僵尸模式用来检测野指针。下面一步步验证 retain 的内部实现 // - Student.h 1 #import <Foundation/Foundation.h> 2 3 @interface Student : NSObject{ 4 5 NSString 阅读全文

posted @ 2018-09-11 11:34 低头捡石頭 阅读(53) 评论(0) 推荐(0) 编辑

OC语言 - 内存管理:alloc | retain | release

摘要: 内存管理 1 - MRC(Manual Reference Count)人工引用计数:内存的开辟和释放由程序代码进行控制;ARC(Automatic Reference Count)自动引用计数。它并不是自动管理内存,而是编译器帮助程序员默认加了释放代码 2 - 在 C 语言中使用 malloc 和 阅读全文

posted @ 2018-09-11 09:26 低头捡石頭 阅读(81) 评论(0) 推荐(0) 编辑

2018年9月10日

OC语言 - for | NSEnumerator | for...In | Block | GCD

摘要: for 循环 1 - 如果遍历字典、数组或者是集合,for 循环是最简单、也是用的比较多的方式 1 // for 循环 2 -(void)iteratorWithFor 3 { 4 // 处理数组 5 NSArray *arrayM = @[@"1",@"2",@"3",@"4"]; 6 NSInt 阅读全文

posted @ 2018-09-10 20:57 低头捡石頭 阅读(34) 评论(0) 推荐(0) 编辑

OC语言 - id | instancetype

摘要: 前言 1 - 动态数据类型的特点 ① 在编译的时编译器并不知道变量的真实类型,只有在运行时才知道它的真实类型 ② 在编译阶段,即使访问了不属于动态类型数据的属性和方法,编译器也不会报错 id 1 - 它是一种动态数据类型,也是万能指针,能够指向或操作任何对象 1 Typedef struct obj 阅读全文

posted @ 2018-09-10 20:45 低头捡石頭 阅读(58) 评论(0) 推荐(0) 编辑

OC语言 - 语法糖

摘要: 语法糖 1 - 语法糖也译为糖衣语法、笑笑语法,指计算机语言中添加的某种语法。这种语法对语言的功能并没有影响,但是更方便程序员使用 注:在 OC 中的语法糖创建的对象是通过便利构造的,且不可变 2 - 代码示例:如何使用语法糖 1 // NSNumber 2 NSNumber *value01; 3 阅读全文

posted @ 2018-09-10 20:44 低头捡石頭 阅读(100) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 25 下一页

导航