
iOS学习笔记
jjunjoe
这个作者很懒,什么都没留下…
展开
-
iOS学习笔记06—Category和Extension
iOS学习笔记06—Category和Extension 一、概述类别是一种为现有的类添加新方法的方式。利用Objective-C的动态运行时分配机制,Category提供了一种比继承(inheritance)更为简洁的方法来对class进行扩展,无需创建对象类的子类就能为现有的类添加新方法,可以为任何已经存在的class添加方法,包括那些没有源代码的类(如某些框架类)。原创 2013-03-29 18:11:13 · 2512 阅读 · 0 评论 -
iOS学习笔记13—NSCopying
iOS学习笔记13—NSCopying如果要调用一个对象的copy方法,这个对象必须遵循NSCopying的协议。这个协议中规定了一个方法:- (id)copyWithZone:(NSZone *)zone;我们就是通过实现这个方法给对象提供拷贝的功能。对于很多现有类,如NSString,NSDictionary,。。。这个方法已经实现。假设我们现在自定义了一个类,需要为这个类原创 2013-04-08 11:38:01 · 1205 阅读 · 0 评论 -
iOS学习笔记14(2)—Core Data 编程指南
一、技术概览1. Core Data 功能初窥 对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。 (注:对象图-Object graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系转载 2013-04-08 13:59:51 · 1486 阅读 · 0 评论 -
iOS学习笔记14(1)—Core Data简单介绍和实现
iOS学习笔记14(1)—Core Data简单介绍和实现Core Data可以将模型对象保存到持久化存储中,并在需要的时候将它们取出。Core Data应用程序的持久化存储范围可以从XML文件到SQL数据库。Core Data简化了应用程序创建和使用托管对象的方式,通过Core Data管理应用程序的数据模型,可以极大程度减少需编写的代码数量。 Core Data还具有下原创 2013-02-05 17:40:04 · 2529 阅读 · 0 评论 -
iOS学习笔记15—Cocoa:NSOperation和NSOperationQueue
iOS学习笔记15—Cocoa:NSOperation和NSOperationQueue 在任何语言中多线程处理都是麻烦的。更糟糕的是如果出错了往往会以很坏的方式出错。鉴于此,程序员要么完全避免使用多线程(把它当做邪恶之源),要么发很长的时间来确保每个方面都很完美。 庆幸的是,Apple在OS X 10.5 Leopard上做了很多改进。NSThread本身就新增了很多新的转载 2013-04-08 16:52:57 · 1057 阅读 · 0 评论 -
iOS学习笔记01—初始化对象
iOS学习笔记01—初始化对象1、关于alloc和init嵌套调用:// 我们总是以如下方式嵌套alloc和init调用,为什么?CExample *example1 = [[CExample alloc] init];// 而不是像下面这样调用CExample *example2 = [CExample alloc];[example2 i原创 2013-03-26 19:10:43 · 1339 阅读 · 0 评论 -
iOS学习笔记02—View Controller的生命周期
iOS学习笔记02—View Controller的生命周期一、ViewControllerView Controller用于管理应用的资源,包括管理与之关联的View,与其他ViewController通信和协调。为了保证程序的高效运行,View Controller总是在需要的时候才加载View(通常被称为lazyload),并在不需要或者内存告警的时候卸载视图。 二、View原创 2013-03-28 11:02:06 · 7171 阅读 · 0 评论 -
iOS学习笔记03—Key-Value-Coding(KVC,键/值编码)
iOS学习笔记03—Key-Value-Coding(KVC,键/值编码)1、为什么苹果提供了KVC机制?什么是KVC?答:简化代码,编程方便呀。KVC的基本调用包括-valueForKey:和-setValue:forKey:。以字符串的形式向对象发送消息,这个字符串是我们关注的属性的关键信息。看下面两段代码NSTableView委托方法的对比原创 2013-01-09 09:24:41 · 9131 阅读 · 0 评论 -
iOS学习笔记17—使用NSOperation还是GCD
使用NSOperation还是GCD 在Mac OS X雪豹系统中(iOS4中也新增了GCD)增加了有许多并发机制。除了run loop,线程(包括Cocoa和POSIX),Operation之外,雪豹添加了GrandCentral Dispatch (GCD),拥有非常轻量级的工作单元和并发方式,并且由系统决定其最佳调度方式。但是,等等,我们不是已经有NSOperation了翻译 2013-08-22 16:32:55 · 2158 阅读 · 0 评论 -
iOS学习笔记16—设置XCode工程的Build编号与svn保持一致
在XCode中选择TARGETS--Build Phase--AddBuild Phase--并在Run Script中添加如下脚本,可以自动设置项目的Build编号为svn版本号。十分方便版本管理和问题定位。REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`BASEVERNUM=`原创 2013-08-12 15:06:29 · 1897 阅读 · 0 评论 -
iOS学习笔记18—iOS应用本地化
iOS学习笔记18—iOS应用本地化一、概述本地化iOS应用一般包括如下几个方面的本地化工作:1、本地化xib文件;2、本地化图像;3、本地化应用程序显示名称;4、本地化字符串。二、具体实现用一个实际的例子来说明具体实现方式吧,先新建一个名为LocalizedDemo的iOS工程,初始化情况下,只有默认为English的本地化信息。原创 2013-09-01 12:29:08 · 4580 阅读 · 0 评论 -
iOS学习笔记10(7)—GCD示例源码
// 不同的宏定义开关含义如下:// Test Mode:// a block 0// block array 1// modify var 2// block recursion 3// dispatch queue 4// dispatch semaph原创 2013-03-31 17:03:50 · 1451 阅读 · 0 评论 -
iOS学习笔记10(8)—深入浅出 Cocoa 多线程编程之 block 与 dispatch quene
本来想总结一下block和dispatch queue的使用,发现下文实在详尽,所以转载过来。本文转自:http://www.cppblog.com/kesalin/archive/2011/08/26/dispatch_queue_block.html感谢原创者。block 是 Apple 在 GCC 4.2 中扩充的新语法特性,其目的转载 2012-12-27 15:26:38 · 1079 阅读 · 0 评论 -
iOS学习笔记12—Runloop
iOS学习笔记12—Runloop一、Runloop简介:Run loops 是线程相关的的基础框架的一部分。一个 run loop 就是一个事件处理 的循环,用来不停的调度工作以及处理输入事件。使用 run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。Runloop还可以在loop在循环中的同时响应其他输入源,比如界面控件的按钮,手势等。原创 2012-12-18 10:36:19 · 18801 阅读 · 2 评论 -
iOS学习笔记11—本地通知UILocalNotification
iOS学习笔记11—本地通知UILocalNotification 本地通知,用于基于时间行为的通知。 操作系统负责提供在适当的时候分发本地通知给应用程序(注意通知不是由应用来分发),应用程序无需处于运行状态。与远程消息推送类似,本地通知也能够显示警告,发出声音,改变应用图标上的小数字。本地通知主要用于基于定时器的行为、简单的日历、待办事项列表等应用场景。在允许的时间内在后台运原创 2013-04-02 17:33:32 · 1339 阅读 · 0 评论 -
iOS学习笔记07—Objective-C 委托、非正式协议、正式协议
iOS学习笔记07—Objective-C 委托、非正式协议、正式协议一、概念:1、委托(delegate,也叫代理):当一个对象接受到某个事件或者通知的时候,会向它的Delegate对象查询它是否能够响应这个事件或者通知,如果可以,这个对象就会给它的Delegate对象发送一个消息(执行一个方法调用)。在这种机制下,您可以不进行子类化和方法重载,而是将自己的定制代码放到委托对原创 2012-08-09 09:48:05 · 9531 阅读 · 5 评论 -
iOS学习笔记05—Key-Value-Observing(KVO,键值观察)
iOS学习笔记05—Key-Value-Observing(KVO,键值观察)1、什么是KVO?Key-Value-Observing(KVO,键值观察):当指定的对象的属性被修改了,允许对象接受到通知的机制。每次指定的被观察对象的属性被修改的时候,KVO都会自动的去通知相应的观察者。2、KVO有什么优点?当有属性改变,KVO会提供自动的消息通知。原创 2013-01-11 12:05:41 · 4320 阅读 · 0 评论 -
iOS学习笔记04—Objective-C property和instance variable
iOS学习笔记04—Objective-C property和instance variable一、property语法声明property的语法为:@property (参数)类型名字;这里的参数主要分为三类:1、读写属性(readwrite/readonly,他们是互斥的)readwrite此标记说明属性会被当成读写的,这也是默认属性。设原创 2013-01-07 16:44:46 · 5274 阅读 · 0 评论 -
iOS学习笔记08—多线程概述
iOS学习笔记08—多线程概述一、概述线程(thread):用于指代独立执行的代码段。进程(process):用于指代一个正在运行的可执行程序,它可以包含多个线程。任务(task):用于指代抽象的概念,表示需要执行工作。多线程的替代方法:Operation objects(操作对象):操作对象可能创建线程更快,因为它们使用内核里面常驻线程池里面的线程原创 2012-12-19 15:44:15 · 3980 阅读 · 0 评论 -
iOS学习笔记10(1)—GCD介绍(一): 基本概念和Dispatch Queue
GCD介绍(一): 基本概念和Dispatch Queue发布者: Seven's - 2012/02/28 - 分类:GCD教程什么是GCD?Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一转载 2013-03-31 16:25:50 · 1006 阅读 · 0 评论 -
iOS学习笔记10(2)—GCD介绍(二): 多核心的性能
GCD介绍(二): 多核心的性能发布者: Seven's - 2012/02/29 - 分类:GCD教程概念为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程转载 2013-03-31 16:31:34 · 881 阅读 · 0 评论 -
iOS学习笔记10(6)—GCD实战2:资源竞争
GCD实战2:资源竞争发布者: Seven's - 2012/10/07 - 分类:GCD教程概述我将分四步来带大家研究研究程序的并发计算。第一步是基本的串行程序,然后使用GCD把它并行计算化。如果你想顺着步骤来尝试这些程序的话,可以下载源码。注意,别运行imagegcd2.m,这是个反面教材。。 imagegcd.zip (8.4 K转载 2013-03-31 16:40:47 · 1758 阅读 · 0 评论 -
iOS学习笔记10(5)—GCD实战一:使用串行队列实现简单的预加载
GCD实战一:使用串行队列实现简单的预加载发布者: Seven's - 2012/08/27 - 分类:GCD教程其主要思路是使用gcd创建串行队列,然后在此队列中先后执行两个任务:1.预加载一个viewController 2.将这个viewController推入代码如下:@implementation DWAppDelegate{转载 2013-03-31 16:38:51 · 7065 阅读 · 0 评论 -
iOS学习笔记09—iOS并发编程
iOS学习笔记09—iOS并发编程一、概述Mac OS和 iOS采取"异步设计方式"来解决并发编程的问题。包括Grand Central Dispatch(GCD)和Operation Queue。1、Grand Central Dispatch(GCD):GCD是基于C的执行自定义任务机制。系统管理线程,你不需要编写线程代码。只需定义想要执行的任务,然后添加到适当的d原创 2012-12-21 15:35:26 · 5218 阅读 · 1 评论 -
iOS学习笔记10(3)—GCD介绍(三): Dispatch Sources
GCD介绍(三): Dispatch Sources发布者: Seven's - 2012/03/03 - 分类:GCD教程何为Dispatch Sources简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。说的貌似有点不清不楚。我转载 2013-03-31 16:33:30 · 1119 阅读 · 0 评论 -
iOS学习笔记10(4)—GCD介绍(四): 完结
GCD介绍(四): 完结发布者: Seven's - 2012/03/03 - 分类:GCD教程Dispatch Queue挂起dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个函数也可以用于dispatch s转载 2013-03-31 16:35:36 · 984 阅读 · 0 评论 -
ReactiveCocoa Documents 翻译(基于版本V2.5)
1. 基本操作(Basic Operators)描述 ReactiveCocoa 最常用的一些操作以及使用范例。 主要是如何运用 序列(sequences) 和 信号(signals) 的流操作。用信号实现副作用(Performing side effects with signals)订阅(Subscription)依赖注入(Injecting effects)流的传输(Tr翻译 2015-08-28 10:44:33 · 3055 阅读 · 0 评论