摘要: block(代码块) 1.1 什么是block block是iOS中一种比较特殊的数据类型。(可以定义变量、做形参或返回值) block是苹果官方特别推荐使用的数据类型,应用场景比较广泛 动画 多线程 集合遍历 网络请求回调 动画 多线程 集合遍历 网络请求回调 在多线程和网络也使用得相当频繁,一般 阅读全文
posted @ 2017-03-06 14:49 专注·精彩 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 分类 Category 分类只能给类扩充方法,不能添加属性! Category有很多种翻译:分类 / 类别 / 类目(一般叫分类) 分类是一个类的补充,是类的一部分。 Category的作用: 可以在不修改原来类的基础上,为这个类扩充一些方法。(使用继承也可以,在子类中扩充父类没有的方法) 一个庞大 阅读全文
posted @ 2017-03-05 14:20 专注·精彩 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 面向对象的三大特性: 封装, 继承, 多态 1. 封装 1.1 基本概念 将零散的东西组合起来。 广义上封装指:将代码封装成函数,将实例变量和方法封装成类,将类封装成框架.... 面向对象中的封装指:封装属性和方法放在一个对象中,只给外界公开访问的接口,而且把具体实现隐藏起来。 1.2 封装的好处 阅读全文
posted @ 2017-03-03 13:27 专注·精彩 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: MRC — 手动管理内存 1.1 内存引用平衡原则 1) 如果使用alloc,new开头,或者是copy(复制一个对象)来创建一个对象,意味着你拥有这个对象的所有权。这个对象的引用计数器初始值为1(也有可能>1)。 2) 如果你拥有这个对象的所有权,在不使用此对象时,就有责任向对象发送release 阅读全文
posted @ 2017-03-02 11:58 专注·精彩 阅读(1010) 评论(0) 推荐(0) 编辑
摘要: 内存管理 : 主要对堆内存进行管理,所谓的管理是指内存的分配(创建)和释放(回收) 内存管理:管理对象的分配和释放,回收那些不需要再使用的对象(内存) 下列行为都会增加一个app的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 如果app占用内存过大,系统可能会强制关闭app,造成闪 阅读全文
posted @ 2017-03-01 11:35 专注·精彩 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 1. self关键字 self 是一个指针,哪个对象调用方法就指哪个对象,其作用是区分不同对象。 1.1 在实例方法中的self,代表当前对象 当前对象,通过哪个对象调用了这个方法,方法中的self就指向那个对象。这个对象就叫当前对象. 1.2 在类方法中的self,代表当前类 类方法中,self代 阅读全文
posted @ 2017-02-27 17:43 专注·精彩 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 1. 属性(Property)和实例变量(instance variable) 1.1 当定义一个属性时,本质上是在干什么(编译器在帮我们干什么): 1) 生成实例变量用来保存属性的值 2) 生成访问器(setter和getter方法)用于修改和访问属性的值 1.2 实际开发中知道的事: 1) 只读 阅读全文
posted @ 2017-02-26 17:38 专注·精彩 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 1. 第一个OC程序 框架(Framework) 和C的Hello不同: 1) 扩展名(后缀名)为.m 2) 使用Foundation框架 3) 使用#import导入头文件: #import <Foundation/Foundation.h> #import 会自动处理头文件重复导入问题。 4) 阅读全文
posted @ 2017-02-23 17:17 专注·精彩 阅读(2070) 评论(0) 推荐(1) 编辑
摘要: 基础知识 1. 前言 Windows系统的可执行文件的格式为: .exe Mac 系统的可执行文件的格式可以是任意的 OC语言是在C语言基础之上进行了加强和扩展, OC语言兼容所有的C语言语法,OC特有的东西一般就用自己的。 2. 系统类前缀 Cocoa中系统类前缀NS=NEXTSTEP 3. 关键 阅读全文
posted @ 2017-02-23 16:40 专注·精彩 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-02-22 15:40 专注·精彩 阅读(304) 评论(0) 推荐(0) 编辑