【Objective-C入门与进阶】
Objective-C基础知识一步步学习与深入进阶,记录自己的成长!
江清清
创办嘎嘎软件,创业ing。有项目外包可以联系。QQ:781931404。博客地址:www.lcode.org
展开
-
【Objective-C】OC中KVO的基本概念和使用方法
基本概念: 键值观察是一种使用获取其他对象的特定属性变化的通知机制。控制器层的绑定技术就是严重依赖键值观察获得模型层和控制器层的变化通知的。对于不依赖控制器层类的应用程序,键值观察提供了一种简化的方法来实现检查器并更新用户界面值。 与NSNotification不同,键值观察中并没有所谓的中心对象来为所有观察者提供变化通知。取原创 2014-02-18 09:46:54 · 2651 阅读 · 0 评论 -
【Objective-C】OC中键值编码(KVC)的概念和使用方法
键值编码的基本概念 1:键值编码是一个用于简介访问对象属性的机制,使用该机制不需要调用存取方法和变量实例就可以访问对象属性。 2:键值编码方法在Objective-C非正式协(类别)NSKeyValueCoding中被声明,默认的实现方法由NSObject提供。 3:键值编码支持带有对象指的属性,同时也支持数值类型和结构。非对象原创 2014-02-17 08:16:16 · 3035 阅读 · 0 评论 -
【Objective-C】OC中单例设计模式讲解
基本概念: 单例设计模式是运用较为普遍,广泛且较为简单的设计模式之一,它的设计原理是始终返回一个实例,即一个类始终只有一个实例创建单例设计模式的基本步骤 1:声明一个单例对象的静态实例,并初始化为nil 2:创建一个类的类方法,生成一个该类的实例,当且仅有这个类实例nil时,进行实例化 3:覆盖a原创 2014-02-15 09:28:52 · 2466 阅读 · 0 评论 -
【Objective-C】OC中自定义对象的归档基本概念和使用方法(实现NSCoding协议)
平时使用中,我们通常需要通过对自定义对象进行归档处理,自定义对象要进行归档,需要去实现NSCoding协议.NSCoding协议有两个方法,encodeWithCoder方法对对象的属性数据做编码处理。 initWithCoder方法解码归档数据来进行初始化对象。实现NSCo原创 2014-02-14 14:10:47 · 2597 阅读 · 0 评论 -
【Objective-C】OC中对象归档(序列化)的基本概念和用法
概念:归档是把对象写入文件保存在硬盘中,当再次重新打开程序时,可以还原这些对象。数据持久化的方法:1:NSKeyedArchiver-对象归档2:NSUserDefaults3:属性列表化(NSArray,NSDictonary保存文件)4:SQlite数据库,CoreData数据库归档的形式1:对Foundation库中对象进行归档原创 2014-02-13 09:44:48 · 3929 阅读 · 0 评论 -
【Objective-C】OC中文件读取类(NSFileHandle)介绍和常用使用方法
NSFileHandle NSFileManager类主要对于文件的操作(删除,修改,移动,赋值等等) NSFileHandle类主要对文件的内容进行读取和写入操作NSFileHandle处理文件的步骤 1:创建一个NSFileHandle对象 2:对打开的文件进行I/O操作 3:关闭文件对象操作常用处理方法原创 2014-02-12 12:07:20 · 4138 阅读 · 1 评论 -
【Objective-C】OC中ARC和垃圾回收机制
ARC计数的基本概念 ARC自动引用计数(automatic reference counting),当你在编译程序时提供自动管理内存的功能,它会为程序自动加入内存的控制代码,控制独享声明周期。这样一来,就可以简化内存管理步骤。不过支持的版本是在iOS4,iOS5以上 注意创建项目的时候,勾选ARC功能 垃圾回收机制的基本概念原创 2014-02-11 14:53:35 · 9187 阅读 · 0 评论 -
【Objective-C】OC中自动释放池的基本概念和使用方法
自动释放池的基本概念 cocoa中有一个自动释放池(Autorelease Pool)的概念,顾名思义,它是可以存放一些实体的集合,在这个自动释放池中的对象,是能够被自动释放的。NSObject类提供了一个autorelease消息,当我们向一个对象发送一个autorelease消息时,这个对象就被放入到自动释放池。创建自动释放池 @a原创 2014-02-11 14:53:12 · 4618 阅读 · 0 评论 -
【Objective-C】OC中点语法的内存管理
下面来一起学习一下点语法的内存管理(一):赋值 assign:直接赋值,默认 retain:保留对象 copy:拷贝对象 示例代码: @property (assign)Person *person; @synthesize person=_person; 当使用retain的时候为:原创 2014-02-11 14:52:49 · 1977 阅读 · 0 评论 -
【Objective-C】OC中的Dealloc方法详解
今天来学习一下Dealloc方法的使用。它的作用是,当对象的引用计数为0,系统会自动调用dealloc方法,回收内存。它的一般写法:1:-(void)dealloc{ [super dealloc];}2:-(void)dealloc{ NSLog(@"laptop dead"); [_cpu release]; [super dealloc原创 2014-02-11 08:47:22 · 13955 阅读 · 1 评论 -
【Objective-C】OC中引用计数和对象所有权的基本概念与用法
cocoa中的内存管理机制--引用计数Cocoa中提供了一个机制来实现上面的逻辑模型,它被称为“引用计数”或者“保留计数”。引用计数的数值表示对象有几个“人”在使用它每一个对象都拥有一个引用计数(retain count)当对象被创建的时候,引用计数的值为1当发送retain消息时,该对象的引用计数加1,该对象的引用计数为2当向这个对象发送release消息原创 2014-02-10 08:21:33 · 2854 阅读 · 0 评论 -
【Objective-C】OC中代理(委托)设计模式
代理设计模式的基本概念 代理是指一个对象提供机会会对另一个对象中行为发生变化时做出的反应。总而言之,代理设计默认的基本思想----两个对象协同解决问题,通常运用于对象间通信。代理设计模式的基本特点 简化了对象的行为,最大化减小对象之间的耦合度 使用代理,一般来说无需子类化 简化了我们应用程序的开发,既容易实现,而且灵活原创 2014-02-10 08:20:04 · 4749 阅读 · 0 评论 -
【Objective-C】OC中协议(Protocol)的基本概念和用法
协议(Protocol)的基本概念 协议的声明看起来比较类似于Java中一个类的接口,但是和接口不同的是:协议没有父类也不能定义实例变量。协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法。协议在以下场合非常有用: 需要由别的类实现的方法 声明未知类的接口 两个类之间的通信协议的基本特点原创 2014-02-10 08:19:46 · 5612 阅读 · 0 评论 -
【Objective-C】OC中类别(Category)基本概念与用法
类别(Category)的基本概念 封装是面向对象的一个特征,OC也不例外,但是有的时候我们会碰到这样的一种情况,不如我封装了一个类,不想再动它了,可是随着程序功能的增加,需要在那个类中增加一个小小的方法,这是我们就不必再那个类中做修改或者在定义一个子类,只需要在用到的地方随手添加一个该类的类别(Category)即可。 (1)在类别中定义的方法,会成原创 2014-02-10 08:19:24 · 3931 阅读 · 0 评论 -
【Objective-C】OC中集合基本概念和常用方法(NSSet)
一:集合的基本概念 Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个,并且它也分为可变和不可变的集合对象(可变集合对象,NSMutableSet)二:不可变集合-NSSet 1:初始化(类似数组的创建) //类似与数组的构建,直接创建一个集合 NS原创 2014-02-07 11:15:14 · 2431 阅读 · 0 评论 -
【Objective-C】OC中字典基本概念和常用方法(NSDictionary和NSMutableDictionary)
一:字典的基本概念 Foundation中的字典(NSDictionary,NSMutableDictionary)是由键-值对组成的数据集合.正如,我们在字典里查找单词的定义一样.通过key(键),查找的对应的value(值),key通常是字符串对象,也可以是其他任意类型对象.在一个字典对象中,key的值必须是唯一的.此外,字典对象的键和值不可以为空(nil),如果原创 2014-02-07 11:13:44 · 7202 阅读 · 0 评论 -
【Objective-C】OC中的数值的概念和常用方法(NSArray和NSMutableArray)
1:数组的基本概念 Foundation中的数组(NSArray,NSMutableArray)是一组有序的对象集合,通过索引下标获取到数组中的各个元素.与字符串相同,数组也是可变和不可变数组之分.此外,数组中不可以存放基本数组类型,只能存放类的实例(对象).如若需要将基本数据类型,结构体放入数组中,需要通过NSNumber,NSValue进行数据的“封装”2:不原创 2014-02-07 11:11:54 · 2459 阅读 · 0 评论 -
【Objective-C】OC中可变字符串(NSMutableString)常用方法
NSMutableString对象继承自NSString对象,也就是该方法拥有NSString的所有的方法,并且还有它特有的方法如下:1:插入字符串 //插入字符串 NSMutableString *string19=[[NSMutableString alloc]initWithFormat:@"abc"]; [string19 i原创 2014-02-07 11:10:47 · 1877 阅读 · 0 评论 -
【Objective-C】OC中字符串(NSString)的基本概念和常用处理方法
在Foundation框架中,提供了NNString类,用于处理字符串对象。在C语言中字符串在一对引号中表示。OC是C语言的一种延展,换句话说,OC语言是建立在C语言的基础之上(C的基础之上添加了面向对象的内容,smalltalk语言)。因此,为了区别两者的字符串,OC语言的字符串必须以@开头,引号当中则是字符串的内容,如@”abc“.此外,NSString对象,一旦被创建原创 2014-02-07 11:09:53 · 2382 阅读 · 0 评论 -
【Objective-C】OC中NSNumber数字对象的常用处理方法
之前已经学习过了基本数据类型。但是这些都市基本数据类型,它们不是对象。因此,不能向它们发送消息。然后有时也需要将它们当做对象来处理。不如,我们需要把基本数据类型放入到集合中(在Cocoa中集中只能存放对象,无法存放基本数据类型),那么这时我们需要将基本类型转换成数字对象.OC中提供了数据对象”NSNumber“可以将基本数据类型”包装“成对象,这样我们就可以将基本数据类型来原创 2014-02-07 11:08:28 · 3636 阅读 · 0 评论 -
【Objective-C】OC中的权限控制
1:默认的实例变量的作用域范围是:这个类体内.默认继承的实例变量可以直接使用。2:实例变量的权限控制符号3:默认是projected4:oc中只支持单继承5:共性的东西放在父类,个性的东西放在子类修饰符类内部子类任何地方privateyesprojected原创 2014-02-07 11:07:31 · 2748 阅读 · 0 评论 -
【Objective-C】OC中类的继承
1:为什么要有继承关系? 定义一个通用的类,它又基本的实例变量。子类可以继承了该类,就可以拥有这些实例变量。子类也可以定义自己的实例变量。 被继承的类叫超类或者父类(superclass),继承超类的类叫做子类(subclass)。OC中继承的语法规则为: @interface 子类:父类2:接下来看实例代码 首先是ClassA原创 2014-02-07 11:06:15 · 1805 阅读 · 0 评论 -
【Objective-C】OC 中对象属性的设置器和访问器
在面向对象编程中,创建一个对象,肯定会包含其中的一些属性,然后会为这些属性写上相应的set,get方法(就是通常我们讲的设置器和访问器)一):通常意义上我们写的属性的set和get方法如下:创建对象,定义声明属性,然后手动编写setXXX(),getXXX()方法,如下:Person对象 1:Person.h //// Person.h// Pe原创 2014-02-07 11:04:38 · 2181 阅读 · 0 评论 -
【Objective-C】OC中对象创建,self,super的详解
1:self是类的隐藏的参数,指向当前调用方法的类,另一个隐藏参数是_cmd,代表当前类方法的selector。2:super并不是隐藏的参数,它只是一个"编译器指示符",它和self指向的是相同的消息接受者3:当使用self调用方法时,会从当前类的方法列表中开始寻找,如果没有,就从父类中再找,而使用super时,则从父类的方法列表中开始找,然后调用父类的这个方法原创 2014-02-07 11:02:57 · 2213 阅读 · 0 评论