探索iOS
文章平均质量分 83
iOS两大开发语言Objective-C与Swift的学习笔记
究极死胖兽
这个作者很懒,什么都没留下…
展开
-
[编写高质量iOS代码的52个有效方法](十一)系统框架
[编写高质量iOS代码的52个有效方法](十一)系统框架参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快47.熟悉系统框架48.多用块枚举,少用for循环49.对自定义其内存管理语义的容器使用无缝桥接50.构建缓存时选用NSCache而非NSDictionary51.精简initialize与load的实现代码52.别忘了NSTimer会保原创 2016-07-29 16:03:08 · 1120 阅读 · 1 评论 -
[编写高质量iOS代码的52个有效方法](十)Grand Central Dispatch(GCD)
[编写高质量iOS代码的52个有效方法](十)Grand Central Dispatch(GCD)参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快41.多用派发队列,少用同步锁42.多用GCD,少用performSelector系列方法43.掌握GCD及操作队列的使用时机44.通过Dispatch Group机制,根据系统资源状况来执行任原创 2016-07-28 17:52:14 · 1281 阅读 · 1 评论 -
[编写高质量iOS代码的52个有效方法](九)块(block)
[编写高质量iOS代码的52个有效方法](九)块(block)参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快37.理解块这一概念38.为常用的块类型创建typedef39.用handler块降低代码的分散程度40.用块引用其所属对象时不要出现保留环目录编写高质量iOS代码的52个有效方法九块block先睹为快目录第37条理解块这一概原创 2016-07-27 20:11:38 · 912 阅读 · 1 评论 -
[编写高质量iOS代码的52个有效方法](八)内存管理(下)
[编写高质量iOS代码的52个有效方法](八)内存管理(下)参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快33.以弱引用避免保留环34.以自动释放池块降低内存峰值35.用僵尸对象调试内存管理问题36.不要使用retainCount目录编写高质量iOS代码的52个有效方法八内存管理下先睹为快目录第33条以弱引用避免保留环第34条以自原创 2016-07-27 15:35:40 · 716 阅读 · 0 评论 -
[编写高质量iOS代码的52个有效方法](七)内存管理(上)
[编写高质量iOS代码的52个有效方法](七)内存管理(上)参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快29.理解引用计数30.以ARC简化引用计数31.在dealloc方法中只释放引用并解除监听32.编写异常安全代码时留意内存管理问题目录编写高质量iOS代码的52个有效方法七内存管理上先睹为快目录第29条理解引用计数第30条以原创 2016-07-27 13:28:05 · 710 阅读 · 1 评论 -
[编写高质量iOS代码的52个有效方法](六)协议与分类
[编写高质量iOS代码的52个有效方法](六)协议与分类参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快23.通过委托与数据源协议进行对象间通信24.将类的实现代码分散到便于管理的数个分类之中25.总是为第三方类的分类名称加前缀26.勿在分类中声明属性27.使用class-continuation分类隐藏实现细节28.通过协议提供匿名对象目原创 2016-07-26 16:19:02 · 881 阅读 · 1 评论 -
[编写高质量iOS代码的52个有效方法](五)接口与API设计(下)
[编写高质量iOS代码的52个有效方法](五)接口与API设计(下)参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快19.使用清晰而协调的命名方式20.为私有方法名加前缀21.理解Objective-C错误模型22.理解NSCopying协议目录编写高质量iOS代码的52个有效方法五接口与API设计下先睹为快目录第19条使用清晰而协调原创 2016-07-26 13:07:25 · 859 阅读 · 0 评论 -
[编写高质量iOS代码的52个有效方法](四)接口与API设计(上)
[编写高质量iOS代码的52个有效方法](四)接口与API设计(上)参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway 先睹为快15.用前缀避免命名空间冲突16.提供全能化初始方法17.实现description方法18.尽量使用不可变对象目录编写高质量iOS代码的52个有效方法四接口与API设计上先睹为快目录第15条用前缀避免命名空间冲突第原创 2016-07-25 19:33:59 · 997 阅读 · 0 评论 -
[编写高质量iOS代码的52个有效方法](三)消息和运行期
[编写高质量iOS代码的52个有效方法](三)消息和运行期参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway 先睹为快11.理解objc_msgSend的作用12.理解消息转发机制13.用“方法调配技术”调试“黑盒方法” 14.理解“类对象”的用意目录编写高质量iOS代码的52个有效方法三消息和运行期先睹为快目录第11条理解objc_msgSe原创 2016-07-25 15:28:28 · 1032 阅读 · 0 评论 -
[编写高质量iOS代码的52个有效方法](二)对象
[编写高质量iOS代码的52个有效方法](二)对象参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway 先睹为快6.理解“属性”这一概念 7.在对象内部尽量直接访问实例变量 8.理解“对象等同性”这一概念 9.以“类簇模式”隐藏实现细节 10.在既有类中使用关联对象存放自定义数据目录编写高质量iOS代码的52个有效方法二对象先睹为快目录第原创 2016-07-22 19:44:49 · 1468 阅读 · 0 评论 -
[编写高质量iOS代码的52个有效方法](一)Objective-C基础
[编写高质量iOS代码的52个有效方法](一)Objective-C基础参考书籍:《Effective Objective-C 2.0》 【英】 Matt Galloway先睹为快1.了解Objective-C语言的起源 2.在类的头文件中尽量少引入其他头文件 3.多用字面量语法,少用与之等价的方法 4.多用类型常量,少用#define预处理器指令 5.用枚举表示状态、选项、状态码目录编写原创 2016-07-21 15:20:56 · 6153 阅读 · 1 评论 -
[精通Objective-C]键值编程
[精通Objective-C]键值编程参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C键值编程目录键值编码KVC键值观察KVO键值编码KVC键值编码API可以直接访问类的属性:@interface Hello : NSObject@property NSString* greeting;@end@implementation Hello-原创 2016-07-20 17:13:08 · 2041 阅读 · 1 评论 -
[精通Objective-C]三种实现并发编程的方式
[精通Objective-C]三种实现并发编程的方式参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C三种实现并发编程的方式目录线程隐式创建并启动线程显示创建并启动线程操作和操作队列用操作类实现并发用操作队列实现并发分派队列GCD三种方式的比较线程隐式创建并启动线程使用NSObject类中的performSelectorInBackg原创 2016-07-19 16:51:44 · 3636 阅读 · 1 评论 -
[精通Objective-C] 使用自定义下标模拟32位计算机寄存器操作
[精通Objective-C] 使用自定义下标模拟32位计算机寄存器操作参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C 使用自定义下标模拟32位计算机寄存器操作目录程序功能简介寄存器类命令行解析类测试程序功能简介创建一个命令行程序用于模拟32位计算机的寄存器操作。它可以设置和获取寄存器的内容。该程序含有3个命令行输入参数:寄存器的初始化设置原创 2016-07-15 16:02:58 · 2442 阅读 · 1 评论 -
[精通Objective-C]块(block)
[精通Objective-C]块(block)参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C块block目录块的语法块的词汇范围块的内存管理块的使用使用块为数组排序使用块的并行编程方式块的语法块是一个实现的闭包,一个允许访问其常规范围之外变量的函数。此外,一个Objective-C块实际上就是一个对象,它是NSObject类的子类,拥有原创 2016-07-14 17:59:29 · 4622 阅读 · 1 评论 -
[精通Objective-C]归档和序列化
[精通Objective-C]归档和序列化参考书籍:《精通Objective-C》【美】 Keith Lee使用Foundation框架的归档和序列化类可以将对象(对象图)转换为具有独立结构的字节缓冲区。这样就可以将数据写入文件或者传送给其他进程(通常会通过网络)。之后,这些数据可能会被转换回对象并保留相关的对象图。这些类为数据持久化提供了轻量级技巧。序列化处理类能够保存数据和对象在其层次结构中的位原创 2016-07-13 15:42:25 · 2367 阅读 · 1 评论 -
[精通Objective-C]进阶技巧:使用运行时系统API
[精通Objective-C]进阶技巧:使用运行时系统API参考书籍:《精通Objective-C》【美】 Keith Lee什么是运行时系统?目录精通Objective-C进阶技巧使用运行时系统API目录动态加载可选包创建命令行程序创建可选包传入包路径使用可选包运行时系统API动态代理创建实现横切功能的协议和类编写代理类添加代理的目标类测试动态代理程序动态加载可选包下面是使原创 2016-07-08 18:17:13 · 4204 阅读 · 1 评论 -
[精通Objective-C]运行时系统
[精通Objective-C]运行时系统参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C运行时系统目录运行时系统概述对象消息选择器方法签名使用对象消息动态类型动态绑定动态方法决议动态加载内省运行时系统的组成部分编译器运行时系统库元类与运行时系统交互运行时系统概述Objective-C拥有相当多的动态特性,这些特性在运行程原创 2016-07-06 17:37:14 · 3067 阅读 · 1 评论 -
[精通Objective-C]进阶技巧:使用ARC
[精通Objective-C]专家级技巧:使用ARC参考书籍:《精通Objective-C》【美】 Keith LeePS:博主并不是专家,不敢认定专家级技巧,该专家级技巧是由原书作者认定的。目录精通Objective-C专家级技巧使用ARC目录ARC和对象所有权测试ARCObjective-C 桥接直接桥接ARC桥接转换ARC和对象所有权之前的章节[精通Objective-C]内存管原创 2016-07-05 18:47:30 · 3011 阅读 · 1 评论 -
[精通Objective-C]预处理器
[精通Objective-C]预处理器参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C预处理器目录预处理器概述预处理器语言预处理器指令宏预处理器概述预处理根据一系列预定义规则,使用一些字符序列替换输入的字符序列。这些操作主要分为以下三步:Created with Raphaël 2.1.0输入源文件执行文本翻译将输入的源文件拆分成多个记号将输原创 2016-07-05 15:18:09 · 2424 阅读 · 1 评论 -
[精通Objective-C]内存管理
[精通Objective-C]内存管理参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C内存管理目录程序的内存使用情况手动管理MRR内存管理基本原则使用MRR自动引用计数ARC规则和约定使用ARC处理循环引用程序的内存使用情况Objective-C可执行程序是由(可执行)代码、初始化和未初始化的程序数据、链接信息、重定位信息、局部数据和原创 2016-07-01 17:16:52 · 5593 阅读 · 5 评论 -
[精通Objective-C]对象和消息传递
[精通Objective-C]对象和消息传递参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C对象和消息传递目录对象创建对象初始化对象重构Atom类并创建子类工厂方法消息传递发送消息消息转发附录前一章节创建的Atom类对象创建对象NSObject类中用于创建类实例(即对象)的方法+(id) alloc通过alloc方法,可以创建对象,原创 2016-06-30 17:27:28 · 4756 阅读 · 2 评论 -
Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片
Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片设备图片库和照相机是图像的两个重要来源,使用UIKit中提供的图像选择器UIImagePickerController可以轻易地实现从设备图片库和照相机获取图片。目录Swift学习笔记4使用UIImagePickerController实现从设备图片库和照相机获取图片目录声明协议创建UII原创 2016-06-01 14:52:28 · 3230 阅读 · 0 评论 -
Swift学习笔记(3)iOS 9 中的网络请求
Swift学习笔记(3)iOS 9 中的网络请求目录Swift学习笔记3iOS 9 中的网络请求目录编码方法请求方法其他修改完整代码运行结果编码方法在iOS9中,以前常用的stringByAddingPercentEscapesUsingEncoding方法被废除了,取而代之的是stringByAddingPercentEncodingWithAllowedCharacters方法。用法原创 2016-05-17 18:51:30 · 3557 阅读 · 2 评论 -
Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法
Swift学习笔记(1)过渡动画(CATransition和UIViewAnimation)的用法CATransition和UIViewAnimation是场景切换时常用的两种过渡动画目录Swift学习笔记1过渡动画CATransition和UIViewAnimation的用法目录CATransitionCATransition的type属性CATransition的subtype属性代码原创 2016-06-29 17:16:39 · 3349 阅读 · 0 评论 -
Swift学习笔记(2)网络数据交换格式(XML,JSON)解析 [iOS实战 入门与提高卷]
Swift学习笔记(2)网络数据交换格式(XML,JSON)解析参考书籍及资源:iOS实战 入门与提高卷 关东升 参考书籍地址用NSXML来解析XML文档用TBXML来解析XML文档用NSJSONSerialization来解析JSON文档目录Swift学习笔记2网络数据交换格式XMLJSON解析目录用NSXML来解析XML文档示例文档Notesxml创建XMLParse原创 2016-05-17 14:00:36 · 2427 阅读 · 2 评论 -
[精通Objective-C]类,接口,协议与扩展
[精通Objective-C]类,接口,协议与扩展参考书籍:《精通Objective-C》【美】 Keith Lee目录精通Objective-C类接口协议与扩展目录类类的接口类的实现实例变量属性方法协议分类扩展类创建一个类名为Atom,继承于NSObject的类。Atom类由两个文件组成,Atom.h和Atom.m,分别为类的接口和实现。类的接口Atom类的接口是在头文件Ato原创 2016-06-29 16:36:32 · 3745 阅读 · 1 评论