iOS
文章平均质量分 60
_Love_U_U_
这个作者很懒,什么都没留下…
展开
-
KVC
1、What is Key-Value coding ? KVC : NSKeyValueCoding protocol的简称(也称Key-Value coding),该协议定义了应用通过变量名(key)存取对象中的属性的机制。Key-Value coding用于key-value observing、Cocoa bindings、Core Data以及是应用支持AppleScript原创 2015-03-21 00:29:25 · 356 阅读 · 0 评论 -
Objective-C的属性(property)解析:
Property“属性”(property)是Objective-C的一项特性,用于封装对象中的数据。使用了属性的话,编译器就会自动编写访问这些属性所需的方法(setter和getter),这个过程称为“自动合成”(autosynthesis)。Attribute属性可以拥有的attribute分为四类:1. 原子性atomic:默认由编译器所合成的方法会通过锁定机制确保其原子性。nonatom原创 2016-04-14 08:37:14 · 886 阅读 · 0 评论 -
Swift的lazy关键字–延迟加载
Swift的lazy关键字–延迟加载@(Swift)[Swift, lazy]定义lazy属性就是初始值直到第一次使用的时候才执行计算的属性,这对小内存的手机所产生的性能上的优化是相当可观的。 注意:lazy属性必须是变量(var修饰符),因为常量属性(let修饰符)必须在初始化之前就有值,所以常量属性不能定义为lazy。Objective-C中的延迟加载Objective-C并没有在语法上支持延原创 2016-04-06 15:36:58 · 2207 阅读 · 0 评论 -
dynamic关键字
KVO 是允许对象在其他对象的指定属性发生变化收到相应通知的机制,在Swift API也可以使用KVO 机制,只要类是从NSObject类继承而来的即可。通过以下3个步骤可以在Swift上实现简单的KVO:在任何你想观察的属性前加上dynamic关键字class MyObjectToObserve: NSObject { dynamic var myDate = NSDate()原创 2016-04-13 22:33:20 · 629 阅读 · 0 评论 -
@objc关键字
前言:为了摆脱Objective-C沉重的历史包袱,Apple于2014年6月发表了新的编程语言 Swift。但是历经20多年发展浮沉的巨人Objective-C早已深入到Cocoa框架的方方面面,无数的第三方库是用 Objective-C 写成的。想要一刀切直接跨到Swift的时代,即使苹果再激进也不敢这么贸贸然。所以直到现在Swift2.0发布依然还是有许多为了兼容Objective-C所做的妥原创 2016-04-13 20:27:34 · 3070 阅读 · 0 评论 -
GCD深入理解
https://github.com/nixzhu/dev-blog/blob/master/2014-05-14-grand-central-dispatch-in-depth-part-2.md读书笔记。1、串行队列:串行队列中的任务一次执行一个,每个任务只在前一个任务完成时才开始。而且你不知道一个block结束和下一个block开始之间的时间长度,这些任务的执转载 2015-09-04 14:33:10 · 428 阅读 · 0 评论 -
程序设计策略(设计一款APP的步骤)
伟大的程序起源于一个伟大的想法,但这并不意味着讲想法孕育成成功的程序是一件轻松的事。本文介绍的是一些能用于精炼想法、回顾设计选择(design options)的策略,帮助我们设计出人见人爱的程序。 明确程序定义在开发早期就完成程序的定义,能够帮你讲一堆想法和属性凝聚成一个用户梦寐以求的产品。在开发过程中,可以以该定义为标准判断潜在的功能点和行为是否靠谱。创建程序定义可以通过以下步骤来完成:1.列原创 2015-08-02 22:34:06 · 1147 阅读 · 0 评论 -
iOS 大型项目开发漫谈
从http://www.cocoachina.com/ios/20150828/13170.html转载,谢谢写这篇文章的大神! 标题有些吓人请不要害怕,不过这确实不是扫盲贴,需要一定的iOS开发基础。在我多年的码农生涯中绝大部分时间都是做的小项目,大一些的可能也就是百万行代码的样子,跟Windows系统几千万行源码比简直就是小巫见大巫。不过,一个iOS项目的源码有数百万行算蛮大了。我想说的是,人转载 2015-08-28 22:39:17 · 562 阅读 · 0 评论 -
视图生命周期
视图是应用的一个重要组成部分,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻。 视图生命周期与视图原创 2015-08-08 23:13:28 · 453 阅读 · 0 评论 -
应用生命周期
应用生命周期作为应用程序的委托对象,AppDelegate类在应用生命周期的不同阶段会回调不同的方法。首先,先了解一下iOS应用的不同状态以及它们彼此之间的关系: 简要介绍一下iOS应用的5种状态:Not Running(非运行状态):应用没有运行或者被系统终止;Inactive(前台非活动状态):应用正在进入前台状态,但是还不能接受事件处理;Active(前台活动状态):应用原创 2015-08-08 20:53:45 · 651 阅读 · 0 评论 -
KVO简述
1、KVO的实现机制: 以下是苹果官方文档对KVO实现机制的解释:Automatic key-value observing is implemented using a technique called isa-swizzling… When an observer is registered for an attribute of an object the isa pointer原创 2015-03-21 00:45:31 · 512 阅读 · 0 评论 -
Clang 之旅--使用 Xcode 开发 Clang 插件
前言最近在跟老大的聊天中聊到了一个比较特殊的需求:是否有办法在编译阶段检查某个方法的参数与返回值的类型相同,如果类型不一致的话能抛出编译错误的提示。这似乎已经不是 Objective-C 或者 Swift 的语言语法本身所能解决的了,老大还指点了可以从编译器等底层中进行研究。于是,我踏进了 Clang 和 LLVM 的大门。我打算将 Clang 的研究心得分为几篇文章来写,这是 Clang...原创 2018-03-19 11:41:00 · 613 阅读 · 1 评论