iOS开发
文章平均质量分 78
朴太仁
岁月从不辜负美丽人生,你若纯良,不必争抢,自有命运打赏!
展开
-
iOS开发的52个要点纪要之一
最近看了《编写高质量iOS与OS X代码的52个有效方法》,将本文中的精彩之处摘录出来,供大家进一步的研究原创 2015-11-26 14:28:39 · 300 阅读 · 0 评论 -
block的介绍
Block对象是 C 级别的语法和运行时特性。它们和标准 C 函数很类似,但是除了可执行代码外,它们还可能包含了变量自动绑定(栈)或内存托管(堆)。所以一个block维护一个状态集(数据),它们可以在执行的时候用来影响程序行为。你可以用 blocks来编写函数表达式,这些表达式可以作为 API 使用,或可选的存储,或被多个线程使用。Blocks作为回调特别有用,因为 block原创 2016-05-18 23:24:40 · 4246 阅读 · 0 评论 -
Webrtc的iOS框架编译
Webrtc的ios框架编译,Webrtcios框架编译1.WebRTC的iOS框架的选择目前两个比较活跃的开源WebRTC实现.Google WebRTC:项目地址是:https://webrtc.org/native-code/ios/Ericsson Research OpenWebRTC:项目地址是: https://github.com翻译 2016-04-22 14:35:55 · 388 阅读 · 0 评论 -
字符编码Unicode和UTF-8
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字原创 2016-05-17 22:09:00 · 319 阅读 · 0 评论 -
iOS开发的52个要点纪要之九
41、多用派发队列,少用同步锁同步锁有@asyschronized,NSLock,NSRecursiveLovk递归锁,若是在self对象上频繁加锁,那么程序可能要等另一段与此无关的代码执行完毕,才能继续执行当前的代码,这样做并没有必要。派发队列可用来表述同步语义(synchronization semantic),这种做法要比使用@asyschronized块或NSLock对象更简单。原创 2015-11-29 15:23:04 · 294 阅读 · 0 评论 -
iOS开发的52个要点纪要之十
47、系统框架许多系统框架都可以直接使用,其中最重要的就是Foundation和CoreFoundation,这两个框架提供了构建应用程序所需的许多核心功能。很多常见的任务都能使用框架来做,例如音频处理、网络通信、数据管理等。用纯C写成的框架和用Objective-c写成的一样重要,成为优秀的OC开发者,应该掌握C语言的核心概念。48、多用块枚举,少用for循环遍历collec原创 2015-11-29 17:42:34 · 412 阅读 · 0 评论 -
iOS开发的52个要点纪要之八
36、不要使用retainCount对象的保留计数看似有用,实则不然,因为任何给定时间点上的“绝对保留计数”(absolute retain count)都无法反应对象生命期的全貌,如未考虑系统的自动释放池的操作等等。引用ARC之后,retainCount方法就正式废止了,在ARC下调用该方法会导致编译器报错。37block的理解块 void*i原创 2015-11-29 14:50:38 · 298 阅读 · 0 评论 -
iOS开发的52个要点纪要之六
26、不要在分类中定义属性把封装数据所用的全部属性都定义在主接口里。在“class-continuation分类”之外的其他分类中,可以定义存取方法,但尽量不要定义属性。原创 2015-11-28 16:45:03 · 298 阅读 · 0 评论 -
iOS开发的52个要点纪要之五
21、理解Objective-C错误模型@throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"must be overriden" userInfo:nil]异常只用于处理严重错误。出现不那么严重的错误时,OC语言的编程范式为:令方法返回nil/0,或者使用NSError,表明其中有错原创 2015-11-28 16:35:37 · 336 阅读 · 0 评论 -
iOS开发的52个要点纪要之七
31、dealloc中需要做的事情在dealloc方法里,应该做的事情就是释放指向其他对象的引用,并取消原来订阅的“键值观察”或NSNotificationCenter等通知,不要做其他事情。如果对象持有文件描述符等系统资源,那么就应该专门编写一个方法来释放此种资源。这样的类要和其他使用者约定:用完资源后必须调用close方法。执行异步任务的方法不应该在dealloc里调用;只能在正常原创 2015-11-29 14:21:02 · 318 阅读 · 0 评论 -
iOS开发的52个要点纪要之二
6、可以用属性@property语法来定义对象中所封装的数据。通过“特质”来指定存数数据所需的正确语义。在设置属性所对应的实例变量时,一定要遵从该属性所声明的语义。开发iOS程序时应该使用nonatomic属性,因为atomic属性会严重影响性能。7、在对象内部读取数据时,应该直接通过实例变量来读,而写入数据时,则应通过属性来写。在初始化方法及dealloc方法中,总是应该直接原创 2015-11-27 13:17:48 · 286 阅读 · 0 评论 -
iOS开发的52个要点纪要之四
16、提供“全能初始化方法”在类中提供一个全能初始化方法,并于文档里指明。其他的初始化方法均应调用此方法。如全能初始化方法与超类不同,则应覆写超类中的对应方法。如果超类的初始化方法并不适用于子类,那么应该覆写这个超类方法,并在其中抛出异常。17实现description方法实现description方法,返回一个有意义的字符串,用于描述该实例-(NSString *)des原创 2015-11-28 15:01:44 · 348 阅读 · 0 评论 -
iOS开发的52个要点纪要之三
11关于objc_msgSend的作用其原型为:void objc_msgSend(id self, SEL cmd,...)objc_msgSend_stret 如果待发送的消息要返回结构体,交由此函数处理;objc_msgSend_fpret 如果消息返回的是浮点数,交由此函数处理;objc_msgSendSuper 如果要给超类发消息,交由此函数处理。消息由接受者、选择子原创 2015-11-28 14:06:09 · 362 阅读 · 0 评论 -
iOS面试题集锦2
1.什么情况使用 weak 关键字,相比 assign 有什么不同? 2.怎么用 copy 关键字? 3.这个写法会出什么问题: @property (copy) NSMutableArray *array; 4.如何让自己的类用 copy 修饰符?如何重写带 copy 关键字的 setter? 5.@property 的本质是什么?ivar、getter、setter 是如何生成并添加到这原创 2016-05-09 22:00:25 · 1307 阅读 · 0 评论