自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 KVC 与 KVO 理解

KVC 与 KVO 是 Objective C 的关键概念,个人认为必须理解的东西,下面是实例讲解。 Key-Value Coding (KVC) KVC,即是指 NSKeyValueCoding,一个非正式的 Protocol,提供一种机制来间接访问对象的属性。KVO 就是基于 KVC 实现的关键技术之一。 一个对象拥有某些属性。比如说,一个 Person 对象有一个 name 和一个

2013-05-23 23:28:18 541

原创 KVC(Key-Value Coding)和KVO(Key-Value Observing)

当通过KVC调用对象时,比如:[self valueForKey:@”someKey”]时,程序会自动试图通过几种不同的方式解析这个调用。首先查找对象是否带有 someKey 这个方法,如果没找到,会继续查找对象是否带有someKey这个实例变量(iVar),如果还没有找到,程序会继续试图调用 -(id) valueForUndefinedKey:这个方法。如果这个方法还是没有被实现的话,程序会抛

2013-05-23 23:23:40 649

原创 ios开发中归档的使用

1、面向对象的程序在运行的时候会创建一个复杂的对象图,经常要以二进制的方法序列化这个对象图,这个过程叫做Archiving. 二进制流可以通过网络或写入文件中 例:NSKeyedArchiver ========================================================*/ NSString *str = @”abc”; NSString *ast

2013-05-23 22:42:24 501

原创 #import <AVFoundation/AVFoundation.h> 音频的制作

#import #import @interface AudioPlayerViewController : UIViewController{ AVAudioPlayer *audioPlayer; AVAudioRecorder *audioRecorder; int recordEncoding; enum { ENC_AAC = 1, ENC_ALAC = 2,

2013-05-17 16:25:56 993

原创 blocks语句

Ios4已经直接支持blocks,很有必要学习一下。 在ios,blocks是对象,它封装了一段代码,这段代码可以在任何时候执行。Blocks可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值。它和传统的函数指针很类似,但是有区别:blocks是inline的,并且它对局部变量是只读的。 Blocks的定义: int (^Multiply)(int, int)

2013-05-17 16:23:46 551

转载 块函数Block

Block可以帮助我们组织独立的代码段,并提高复用性和可读性。iOS4在UIKit中引入了该特征。超过100个的Apple API都使用了Block,所以这是一个我们必须开始熟悉的知识。 Block是什么样的?  你可以使用^操作符来声明一个Block变量,它表示一个Block的开始。 int num1 = 7;   int(^aBlock)(int) = ^)int

2013-05-17 16:21:29 630

原创 单例模式

单例模式用于当一个类只能有一个实例的时候, 通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据。用单例模式加以控制是非常有必要的。 单例模式需要达到的目的 1. 封装一个共享的资源 2. 提供一个固定的实例创建方法 3. 提供一个标准的实例访问接口 单例模式的创建 本文以创建一个MySin

2013-05-10 18:11:27 490

原创 协议

协议(protocol)是Objective-c中一个非常重要的语言特性,从概念上讲,非常类似于JAVA中接口. 一个协议其实就是一系列有关联的方法的集合(为方便后面叙述,我们把这个协议命名为myProtocol)。协议中的方法并不是由协议本身去实现,相反而是由遵循这个协议的其他类来实现。换句话说,协议myProtocol只是完成对协议函数的声明而并不管这些协议函数的具体实现。 声明一个协议的语

2013-05-10 18:08:03 512

原创 (delegate)

委托(delegate)也叫代理是iOS开发中常用的设计模式。我们借助于protocol(参考博文:objective-c协议(protocol))可以很方便的实现这种设计模式。 什么是代理? 苹果的官方文档给了很清晰的解释: Delegation is a simple and powerful pattern in which one object in a program acts

2013-05-10 17:56:49 599

转载 MVC(Model-View-Controller)

Modol View Controller(MVC)是一种最早的也是最成功的可重用的设计模式,70年代的时候首次在smaltalk编写的程序中成功使用。基于MVC设计模式,Cocoa整体架构可以划分为三个子系统:Model, View, Controller,我们可以相应的理解为:数据模型,视图和控制器。 Modol View和Controller的角色 要想理解MVC设计模式中每

2013-05-10 17:54:46 1191

原创 Category

什么是Category Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法同样也会被被扩展的类的所有子类自动继承。当知道已有类中某个方法有BUG,但是这个类是以库的形式存在的,我们无法直接修改源代码的时候,Category也可以用于替代这个已有类中某个方法的实体,从而达到修复BUG的目的。然而却没有什么便捷的

2013-05-10 17:14:00 575

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除