
iOS dev
文章平均质量分 59
MakeCodeClear
热爱互联网,热爱技术,热爱生活。
展开
-
iOS内存管理--ARC
arc是一个编译特性用来提供自动管理Objective-c的内存。ARC的目的是把你从内存管理的泥潭中解放出来,更多的去关注你要做的事情。 Arc是在编译的时候插入代码来确信让对象能够按需要来存在。ARC同样是以引用计数为基础。你可以选择在以文件或者项目为单位不使用ARC。 但是建议尽量最好使用ARC,首先,编译器为你做内存管理往往比你自己要更优秀,其次,ARC导致的效率损失在UI面前基本可以原创 2014-01-22 23:42:17 · 960 阅读 · 0 评论 -
iOS内存管理--Core Foundation
Core Foundation使用引用计数,对象记录使用retain的拥有者的数量,如果对象没有拥有者,它就会被释放 Core Foundation 为对象的拥有和释放定义了以下的规则: .如果你创建了对象(直接创建或者copy另外一个对象),你拥有这个对象 。如果你从某个地方获取一个对象,你不拥有它,如果你想阻止它被释放,你必须将你自己添加为一个owner(using CFReta原创 2014-02-06 22:37:55 · 1430 阅读 · 0 评论 -
iOS并发编程(上)-- NSOperation queue
并发是多件事情同时发生的一个概念。 在过去,在应用中引入并发就需要创建一个或者多个额外的线程。不幸的是,写线程代码是一个挑战。线程是低层次工具必须手动的管理。给定应用可选的线程数会基于当前系统负载和硬件动态的改变。实现一个正确的线程方案变得额外的困难,很难达到。并且,线程同步机制的使用会增加软件的复杂度和风险而且还不能保证提升性能。 iOS和OS X都提供了一个比传统基于线程更加异步的原创 2014-03-10 21:58:11 · 928 阅读 · 0 评论 -
iOS内存管理
前提 (1). 以下是针对cocoa对象,不包括core foundation (2). cocoa对象都是用引用计数来跟踪对象的内存使用情况的。 (3). 在子类里面父类先初始化和后释放的原则。自己想下为什么 栈空间和堆空间的区别。 我们说的内存管理都是基于堆空间的,因为函数内的栈空间是由编译器自己控制的。 关于core foundation的内存管理,在下下一原创 2014-01-21 23:07:18 · 743 阅读 · 0 评论 -
iOS KVO
KVO是一种允许指定的对象在一些其他对象指定的属性改变时被通知的机制。 为了明白KVO,你首先需要明白KVC。 At a Glance KVO是一种允许指定的对象在一些其他对象指定的属性改变时被通知的机制。它在你应用程序的模型和控制器交互时显得特别有用。一个控制器对象典型的观察模型的属性,视图对象通过控制器观察模型对象。并且,一个模型对象可能观察其他的模型对象或者观察它自己。原创 2014-03-02 17:05:22 · 945 阅读 · 0 评论 -
关于文章的声明
关于iOS的blog都是基于https://developer.apple.com网站上的原文做的翻译,边学习边翻译,如果有读者对苹果官网感兴趣,可以给我留言,我可以自不量力的翻译以下。原创 2014-03-13 22:06:37 · 575 阅读 · 0 评论 -
iOS Runtime
Objective-C 程序与runtime系统的交互有三个唯一的层次:通过Objective-C源代码的方式;通过NSObject类里面的方法;通过直接调用runtime函数。 Objective-C源代码 大部分情况,runtime系统自动工作并且隐藏在屏幕背后,编译器创建数据结构和函数调用(实现动态特性得语言)。数据结构捕获类或者category定义得信息和协议里面声明的东西;包原创 2014-03-02 17:03:43 · 1000 阅读 · 0 评论 -
iOS并发编程(下) --- Dispatch Queue
Dispatch Queues GCD(Grand Central Dispatch)dispatch queues是一个执行任务的强大工具。对于调用者,dispatch queues可以让你同步或者异步地执行任意的代码块。你可以使用dispatch queues来执行你之前用分离的线程执行的几乎所有的任务。dispatch queues相对于线程代码的优势是它们在执行任务时更加方便易用并且原创 2014-03-16 18:46:38 · 1586 阅读 · 0 评论