欢迎来到天天文库
浏览记录
ID:40959943
大小:195.34 KB
页数:20页
时间:2019-08-11
《开发IOS基本编程技巧》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课程简介...正如它的名字所传达的含义,Foundation框架是所有iOS和MacOSX编程所使用的基本工具。要成为这两个平台上成功的开发者,必须对这套工具了如指掌。Foundation框架定义了数量众多的类以及协议,它们各司其职。但三种类和协议的地位更加突出,它们是最基本的部分:·根类和相关的协议。根类,即 NSObject,还伴有一个同名的协议。它确定了所有Objective-C对象的基本接口和行为。同时也有一些协议,其他类可以采用这些协议来拷贝这些类的实例并对编码它们的状态。·数值类。数值类能够产生一个实例(称为数值对象),也就是将字符串、数字
2、、日期、二进制数据等基本类型数据封装起来的面向对象包装。·群体类。群体类的一个实例(称为群体)管理着一组对象。区分不同类型的群体就要看访问它所包含的对象的方式是什么。通常,群体中包含的项目都是一系列数值对象。群体和数值对象是Objective-C编程中极其重要的内容,因为它们经常被用作方法的参数和返回值。课时:认识根类和Objective-C对象摘要: 在类继承中,根类不从其他类继承,同时所有其他的类都最终继承自根类。NSObject是Objective-C继承中的根类。其他类都从NSObject继承一套基本的接口到Objectiv在类继承中,根类不从
3、其他类继承,同时所有其他的类都最终继承自根类。NSObject是Objective-C继承中的根类。其他类都从NSObject继承一套基本的接口到Objective-C运行时体系中。这些类的实例又都是从NSObject继承而获得Objective-C最根本的特性。但就其自身而言,NSObject的实例做不了什么有趣的事,顶多只是个对象而已。要使用更多属性和逻辑来定制你的程序,就必须创造一个或多个继承自NSObject的类,或者使用已有的直接或间接继承自NSObject的类。NSObject采用了NSObject的协议,它声明了一些附加方法,可以被所有对
4、象的接口使用。另外,NSObject.h(包含了NSObject类定义的头文件)中包含NSCopying、NSMutableCopying和NSCoding协议。当某个类采用了这些协议后,它便获得了对象拷贝和对象编码的基本对象行为。模型类(封装了应用数据并管理这些数据的实例的类)经常采用对象拷贝和对象编码协议。NSObject类和相关协议定义了创建对象、浏览继承链、查阅对象的特征和功能、比较对象、拷贝对象和把对象进行编码等的一系列方法。本文接下来主要讲述的就是这类任务的基本要求。创建对象通常,创建对象时,要先为它分配内存,然后将它初始化。虽然这是两个单
5、独的步骤,但它们联系甚密。有些类可以通过调用它们的工厂方法来创建对象。 创建对象–分配内存和初始化要为对象分配内存,对它的类发送一个alloc消息就能得到该类的一个“原始”(未初始化)的实例。当你为一个对象分配内存时,Objective-C运行时会在应用的虚拟内存中为该对象预留足够大的内存空间。除了分配内存本身之外,这个环节还有另外几个用途,例如把实例变量全部设为0等。为原始实例分配好内存之后,你必须将其初始化。初始化也就是将对象设置为初始状态,换句话说,就是让它的实例变量和属性为合理的值,然后再返回这个对象。初始化是为了保证返回的对象可以被使用。你会
6、发现在不少框架中都含有initializers(初始器)方法,即可以初始化对象的方法。它们的形式大多类似。初始器是实例方法,方法开头为init,返回一个id类型的对象。根对象NSObject声明了init方法,所有其他的类都继承了这个方法。其他的类当然也可以声明自己的初始器,各自要有自己的关键字和参数类型。例如,NSURL类声明了如下初始器:1.-(id)initFileURLWithPath:(NSString*)pathisDirectory:(BOOL)isDir 当你为一个对象分配内存并将其初始化的时候,可以将内存分配方法和初始化方法嵌套起来。
7、如果使用上边这个初始器的话,可以写成这样:1.NSURL*aURL=[[NSURLalloc]initFileURLWithPath:NSTemporaryDirectory()isDir:YES]; 作为一种安全的编程习惯,你可以检查返回的对象以验证对象的创建是否正确。如果创建过程中发生了意外而导致对象创建失败,初始器将返回nil。虽然Objective-C允许对nil发送消息而不会产生任何副作用(比如抛出异常),但你的代码显然不可能正常工作,因为没有任何方法能够被调用。你不应该使用alloc返回的实例,而要使用初始器返回的实例。 通过调用类的工厂方
8、法来创建对象通过调用类的工厂方法也能创建一个对象。工厂方法是一种类方法,它能够分配内存、初始化
此文档下载收益归作者所有