工作在Fundation框架下1——Start Developing iOS Apps Today——从今天开始开发IOS(IOS7版)系列源文档翻译(十五)
当你开始编写代码为您的应用程序,你会发现有很多Objective-C框架,你可以利用的。特别重要的是基础框架,为所有应用程序提供基本的服务。 Foundation框架包括代表基本数据类型,如字符串和数字值类,以及用于存储其他对象的集合类。你会依赖于价值和收藏类来编写很多代码,为您的todolist的应用程序。
值对象
值对象是一个对象,它封装了原始值(一个C数据类型) ,并提供相关的增值服务。你经常遇到的值对象作为方法和功能,你的应用程序调用的参数和返回值。不同部位的框架,甚至是不同的框架,可以通过传递的值对象交换数据。
在Foundation框架的值对象的例子有:
NSString和NSMutableString
NSData和NSMutableData
NSDate
NSNumber
NSValue
因为值对象代表标量值,你可以用它们在集合和任何其他地方都需要的对象。值对象有超过它们封装原始类型的优势:他们让你的包裹价值简单而有效地执行某些操作。 NSString类,例如,具有用于搜索和替换子方法,用于将字符串写入到文件或(优选)的URL ,并用于构造文件系统的路径。
您从原始类型(然后可能通过它在方法参数)的数据创建一个值对象。在你的代码,你以后访问的对象封装的数据。在一个NSNumber类提供了这种方法的明显的例子。
int n = 5; // 分配给原始类型值 NSNumber *numberObject = [NSNumber numberWithInt:n]; // 从原始类型创建值对象 int y = [numberObject intValue]; // Encapsulated value obtained from value object (y == n)最值类通过声明两个初始化函数和类工厂方法创建它们的实例。类工厂方法实现了类作为一种简便的一步到位的客户端,结合分配和初始化,并返回所创建的对象。例如,NSString类声明一个String类的方法分配和初始化类的新实例,并将其返回到你的代码。
NSString *string = [NSString string];除了创建值对象,并让您存取其封装的值,很多值的类提供了简单的操作,如对象的比较方法。
字符串
NSString类提供的字符串对象封装,提供诸如优点内置的内存管理用于存储任意长度的字符串,对于不同的字符编码??(尤其是Unicode)的支持,以及实用程序字符串格式化。因为您通常使用这样的字符串,Objective-C语言提供了从常量创建NSString对象的速记符号。要使用这个NSString的文字,只是前面一个双引号字符串与at符号(@),如下面的例子:
// Create the string "My String" plus carriage return. NSString *myString = @"My String\n"; // Create the formatted string "1 String". NSString *anotherString = [NSString stringWithFormat:@"%d %@", 1, @"String"]; // Create an Objective-C string from a C string. NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSUTF8StringEncoding];
数字
NSNumber *myIntValue = @32; NSNumber *myDoubleValue = @3.22346432;你甚至可以使用NSNumber的文字来创建封装布尔和字符值。
NSNumber *myBoolValue = @YES; NSNumber *myCharValue = @‘V‘;您可以创建一个代表无符号整数,长整数,long long整数的NSNumber对象,并通过附加的字母U,L,LL,和F,分别向记谱值float值。例如,要创建一个封装浮点值一个NSNumber对象,你可以编写以下代码:
NSNumber *myFloatValue = @3.2F
集合对象
要添加到集合中的任何对象将至少只要集合保持活动状态持续下去。这是因为集合类使用强引用来跟踪他们的内容。除了保持其内容的轨道,每个集合类可以很容易地执行某些任务,如枚举,访问特定的项目,或者找出一个特定的对象是否是集合的一部分。
在NSArray的,的NSSet和NSDictionary中类的内容被设置在创建。因为它们不能随着时间的推移发生变化,他们是所谓的不可变的。每个人也有一个子类,它是可变的,让您随意添加或删除对象。不同类型的集合组织其包含的对象以独特的方式:
1.NSArray和NSMutableArray里,数组是对象的有序集合。您可以指定它的位置(即其索引)数组中的访问对象。在数组的第一个元素的索引为0 。
2.NSSet和NSMutableSet -A组的无序集合对象,每个对象只发生一次。您通常通过施加测试或筛选的对象集访问的一组对象。
3.NSDictionary中和NSMutableDictionary - 字典将其条目存储为键 - 值对,关键是一个唯一的标识符,通常是一个字符串,其值是你要存储的对象。您可以通过指定的键访问该对象。
数组
维持秩序的数组中,每个元素都被存储在一个从零开始的索引。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。