Objective-C编程全解(第3版)_附录A_第1页
Objective-C编程全解(第3版)_附录A_第2页
Objective-C编程全解(第3版)_附录A_第3页
Objective-C编程全解(第3版)_附录A_第4页
Objective-C编程全解(第3版)_附录A_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Objective-C编程全解 附录A Foundation框架的概要 附录A Foundation框架的概要常用类的概要下面对Foundation框架中常用类的目的和功能进行说明,要注意其中一部分类目前还不支持iOS。随着操作系统的升级,可以使用的类和功能也会不断地更新,最新的信息请参考苹果公司的在线文档。表中的iOS标记是可以在iOS 5.0中使用的意思。字体加粗的类是本书中介绍过的类。另外类名中带有"Mutable"的是可变类(第9章)。根类NSObject定义了每个对象基本功能的类。第8章iOS字符串类NSStringNSMutableString字符串的类簇。9.

2、2节iOSNSAttributedStringNSMutableAttributedString带属性的字符串类簇,注意它不是NSString的子类。iOSNSScanner从字符串中提取数字和特定字符串。iOSNSRegularExpressionNSDataDetector使用正则表达式提取指定的字符串。NSDataDetector是NSRegularExpression的子类,是一个受限的正则匹配类。iOSNSCharacterSetNSMutableCharacterSetUnicode字符的集合类。iOS集合和辞典NSArrayNSMutableArray数组类,能够存放多个对象,且

3、对象是有序的。9.4节iOSNSSetNSMutableSet集合类,其中的元素是无序的。9.4节iOSNSCountedSet可变集合类,同一个对象可被存储多次。9.4节iOSNSOrderedSetNSMutableOrderedSet有序集合类,能够存放多个对象,且对象是有序的。但同一个对象只能被存储一次。NSIndexSetNSMutableIndexSet集合类,其中的元素是被用作数组索引的非负整数。和NSSet没有继承关系。iOSNSDictionaryNSMutableDictionary保存键值对的词典类。9.5节iOSNSCache功能和NSMutableDiction一样,

4、但当键值对超过一定数量或内存吃紧时,它会自动释放一部分元素。iOSNSEnumerator按顺序访问数组或辞典等集合的枚举器,是一个抽象类。9.4节iOSNSIndexPath表示嵌套数组(数组的成员是另外一个数组)的索引路径的对象。iOSNSSortDescriptor描述数组排序方法相关属性的对象。iOSNSPointerArray指针数组,不仅仅可以存放对象,还可以存放指向任意数据的指针。iOSNSHashTable和NSMutableSet类似的集合类,在GC的情况下可以保存对象的弱引用。iOSNSMapTable和NSMutableDictionary类似的辞典类,在GC的情况下可以

5、保存对象的弱引用。iOSNSPointerFunctions保存集合类中使用的指针。iOS数据类型NSDataNSMutableData二进制数据的一个封装。9.3节iOSNSPurgeableData执行中可被释放的数据对象。iOSNSNumber包裹类,用于将整数、浮点数等数值数据作为对象来处理。9.6节iOSNSValue能够存储指针和结构体等,并将其作为对象处理。9.6节iOSNSNull表示空的对象的类。9.6节iOSNSDecimalNumber用于十进制计算的十进制数对象。iOSNSDecimaNumberHandler指定十进制数计算的精度和四舍五入等规则。iOSNSForma

6、tterNSNumberFormatter将对象的内容按照指定的格式转换为字符串。主要用在GUI的控件中。iOS内存管理NSAutoreleasePool对象自动施放池的类。第5章iOSNSGarbageCollector控制垃圾回收。第6章日期和时间NSDate表示日期和时间的对象。iOSNSDateComponents可以用年、月、日、时、分、秒等元素表示时间。iOSNSCalendar表示基于各时区或历法的日历。iOSNSTimeZone表示时区。iOSNSDateFormatter将对象内容按照指定的格式转换为字符串的类。主要用在GUI的控件中。iOS文件操作和数据的输入输出NSURL

7、表示资源存放位置的URL类。9.7节iOSNSFileWrapper处理文件或文件夹的包裹类。iOSNSFileManager用于新建、移动、复制文件或文件夹等操作。iOSNSFileHandle表示打开的文件或通道句柄,并读写数据。iOSNSDirectoryEnumerator按顺序遍历指定目录中的所有文件的枚举器。iOSNSStreamNSInputStreamNSOutputStream表示程序和文件之间,或程序和其他主机上的程序之间交换数据用的通道。iOSNSPipe管理进程之间交换数据用的管道。iOSNSFileCoordinator管理多个进程和对象同时读写的文件。iOSNSFi

8、leVersion管理文件在特定时间的快照,可以用于解决版本冲突。iOSNSBundle提供操作Bundle的接口,可以从Bundle中取出各种文件和资源。第16章iOS对象的保存NSCoder将对象转换为不依赖于具体计算机的数据形式,或者还原为原来的对象。13.2节iOSNSKeyedArchiverNSKeyedUnarchiverNSCoder的子类,可用于创建(释放)带键值(key)的归档文件。13.2节iOSiOSNSPropertyListSerialization以属性列表的形式对对象序列化,或者检查格式等。13.3节iOSNSJSONSerialization使JavaScri

9、pt中的数据格式JSON和Objective-C对象相互转换。iOSNSUserDefaults从用户默认数据库中读取、设置数据。16.4节iOSNSUbiquitousKeyValueStore存储由关键字和值组成的小数据到iCloud中。iOS线程和锁NSThread 线程的生成和控制。19.1节iOSNSLock实现线程间互斥的锁。19.2节iOSNSConditionLock 提供条件锁的功能。19.2节iOSNSRecursiveLock同一个线程可以反复使用的锁。19.2节iOSNSDistributedLock限制对多个进程共有资源的访问的锁。NSCondition提供POSIX

10、风格的条件变量的功能。iOSNSOperationNSInvocationOperationNSBlockOperation将方法调用等独立的操作模块化的类。19.3节iOSNSOperationQueueNSOperation的实例变量使用的队列。19.3节iOS消息的执行和转发NSInvocation存储有关发送消息的信息的对象,可以被用于转发消息。15.5节iOSNSMethodSignature用于表示方法的参数和返回值的类型信息的对象,被用于转发消息。15.5节iOSNSRunLoop处理GUI环境中鼠标和键盘的输入事件和对象间通信时的输入通道。15.1节iOSNSTimer定时器,

11、超时之后会发送指定的消息给某个对象。15.1节iOSNSUndoManager用于处理Undo和Redo。15.6节iOS通知NSNotificationCenter提供给多个对象发送通知消息的通知中心的功能。15.3节iOSNSNotification保存所有需要通知的信息。15.3节iOSNSNotificationQueue通知中心的缓存队列。15.3节iOSNSDistributedNotificationCenter不同进程间的通知中心。异常和错误NSException在程序中抛出异常,保存处理异常所必备的信息。第18章iOSNSAssertionHandler断言失败时被调用的函数

12、。iOSNSError保存执行中发生的错误信息。18.5节iOS分布式对象NSConnection管理相同或不同主机上进程或线程间的通信。19.5节NSPortNSMachPortNSMessagePortNSSocketPort提供和其他线程或进程间的通信通道的类。19.5节iOSiOSiOSNSPortNameServerNSMachBootstrapServerNSMessagePortNameServerNSSocketPortNameServer分布式对象使用的端口名服务的接口。NSProxyNSDistantObject提供其他对象的代理功能的类。19.5节iOSNSPortCod

13、erNSCoder的子类,为分布式对象转发代理或对象时使用。NSPortMessage提供低级的对象间通信。NSDistantObjectRequest被用于对象间的方法调用。NSNetService被用于表示网络服务。iOSNSNetServiceBrowser查找可以使用的网络服务。iOSNSProtocolChecker被用于限定分布式对象提供的功能于指定的协议。NSHost被用于获取、保存计算机名和网络地址。其他类NSTask将指定的程序作为子进程启动并监视。NSProcessInfo获得关于进程的各种信息。iOSNSLocale管理本地化的各种信息。16.5节iOSNSOrthogr

14、aphy描述文档的语言信息。iOSNSLinguisticTagger将自然语言分词并加上标签。iOSNSValueTransformer将某个值转换为别的表现形式的抽象类,Cocoa绑定的时候使用。iOSNSSpellServer提供拼写检查功能的类。NSTextCheckingResult表示拼写检查的结果的类。iOSNSAffineTransform对图形生成、结合、应用Affine变换。其他类的概要(1)URL相关的操作 NSURL是用于表示资源URL的类(见9.7节)。 本书中没有介绍以NSURL.、NSHTTP.开头的类和NSMutableURLRequest、NSCachedUR

15、LResponse的功能和使用方法。关于这些类的详细内容请参考苹果公司的文档“URL Loading System”和各个类的文档。要注意的是有一些类还不能用在iOS上。 (2)XMLFoundation框架提供了读取、操作XML的类(以NSXML开头),本书中没有介绍这些类的功能和使用方法。这些类中的很多都无法在iOS上使用。更详细的内容请参考苹果公司的文档“Tree-Based XML Programming Guide for Cocoa”和“Event-Driven XML Programming Guide for Cocoa”以及各个类的文档。(3)元数据文件等中附加的计算机可读取

16、的数据(描述数据的数据)叫作元数据。Foundation框架中以NSMetadata开头的所有类都支持Spotlight(Mac电脑上的一项快速、随打即找的桌面搜索功能)。iOS无法利用这个功能。更多内容请参考文档“Spotlight Metadata Attributes Reference”。(4)谓词判别真值或假值的函数叫作谓词(predicate)。Foundation框架提供了四个用于指定检索或过滤用的条件的类:NSPredicate、NSComparisonPredicate、NSCompoundPredicate、NSExpression。关于这几个类的详细内容请参考苹果公司的文

17、档“Predicates Programming Guide”、“Core Data Programming Guide”和各个类的参考文档。(5)AppleScript本书中没有详细介绍AppleScript相关的类的使用方法。下面是和AppleScript相关的所有类,iOS无法使用这些类。类名为NS.Command的所有类。类名为NS.Specifier的所有类。类名为NSApple.的所有类。类为NSApple.的所有类。更详细的内容请参考苹果公司的文档“Cocoa Scripting Guide”和各个类的参考文档。常用协议的概要下面对Foundation框架中常用的协议进行简单的说

18、明,更详细的内容请参考苹果公司的官方文档。NSCoding定义了对类的实例进行归档化操作时需要实现的编码和解码方法。协议定义在头文件Foundation/NSObject.h中(见13.2节)。NSCopying定义了复制类的实例对象时需要实现的方法,协议的头文件是Foundation/NSObject.h(见13.1节)。NSDecimalNumberBehaviorsNSDecimalNumberBehaviors协议中定义了使用NSDecimalNumber计算的时候设定返回值的精度和四舍五入的标准的方法。协议定义在头文件Foundation/NSDecimalNumber.h中。NSE

19、rrorRecoveryAttemptingNSErrorRecoveryAttempting是一个非正式协议,实现这个协议的对象可以从错误状态恢复。协议定义在头文件Foundation/NSError.h中(见17.6节)。NSFastEnumerationNSFastEnumeration协议中定义了提供快速枚举功能所需要用到的方法。协议定义在头文件Foundation/NSEnumerator.h中。NSKeyValueCoding(非正式协议)NSKeyValueCoding协议中定义了KeyValueCoding用的方法。协议定义在头文件Foundation/NSKeyValueCo

20、ding.h中(见20.1节)。NSKeyValueObserving(非正式协议)NSKeyValueObserving协议中定义了监视Key和Value的方法。协议定义在头文件Foundation/NSKeyValueObserving.h中(见20.5节)。NSLockingNSLocking协议中定义了获取和释放锁的方法。协议定义在头文件Foundation/NSLock.h中(见12.1节、19.2节)。NSMutableCopyingNSMutableCopying协议中定义了为一个对象创建可变副本的方法。协议定义在头文件Foundation/NSObject.h中(见13.1节)

21、。NSObjectNSObject协议中定义了提供对象的基本功能的方法。根类NSObject和NSproxy符合这个协议。协议定义在头文件Foundation/NSObject.h中(见12.2节、19.5节)。除了以上介绍的这些协议外,协议名为类名+Delegate的协议中都定义了将类的实例作为委托时委托端需要实现的方法(见15.2节)。除此之外,Foundation框架中还定义了各个类协同工作时需要的协议,详细内容请参考类的参考文档。主要的函数和类型下面对Foundation框架中主要的函数、宏和数据类型进行说明。本节中不再说明一般编程时用不到的、和运行时系统相关的函数。assertion

22、宏的详细内容请参考18.4节中的内容。在说明函数和类型的时候,也会涉及一些Core Foundation、Core Graphics中的内容。没指明头文件的函数和类型都定义在Foundation/NSObject.h或者Foundation/NSObjCRuntime.h中,程序不需要导入特别的头文件就可以直接使用这些对象。和Core Foundation关联的函数和类型都定义在CoreFoundation/CoreFoundation.h中,可通过Foundation/Foundation.h读取这一文件。比较NSComparisonResult被定义为NSInteger,用来表示对象之间的

23、比较结果。使用方法compare:进行比较的时候,如果消息接收者比参数小,则返回NSOrderedAscending,如果消息接收者比参数大,则返回NSOrderedDescending。enum _NSComparisonResult NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending;typedef NSInteger NSComparisonResult;Core Foundation中也定义了表示比较结果的CFComparisonResult,且CFComparisonResult也是整数类型。图形相关的类型和函数下面

24、说明大小、点、形状等和图形相关的数据类型。Cocoa的数据类型和函数都是以NS开头的,而Core Graphics的数据类型和函数则以CG开头。开发面向Mac OS X的应用程序时,下面提到的类型和函数的定义都包含在头文件Foundation/NSGeometry.h中,可以通过加载Foundation/Foundation.h来使用这些类型和函数。而开发iOS的应用程序时,这些类的定义都包含在CoreGraphics/CGGeometry.h中,可以通过UIKit/UIKit.h加载进来。(1)大小NSSize的定义如下所示,用来表示矩形的大小。width和height不能是负数。Core

25、Graphics的构造体CGSize和NSSize的定义一样。typedef struct _NSSize CGFloat width;/*should never be negative */CGFloat height;/*should never be negative */NSSize;(2)点NSPoint是用来表示平面上的点的坐标的结构体,其定义如下所示。Core Graphics中对应的是CGPoint。typedef struct _NSPoint CGFloat x;CGFloat y; NSPoint;(3)矩形NSRect是用来表示平面上的矩形(图A-1)的结构体,定义如

26、下所示。Cocoa中坐标轴的原点在左下,x轴向右,y轴向上延伸(当然也可以反转过来)。iOS中和Cocoa相反,y轴向下延伸。图A-1 矩形NSRect的定义图中的文字:領域辺:矩形和边typedef struct _NSRect NSPoint origin;NSSize size; NSRect;NSRectEdge类型是枚举型,各个常数表示矩形的各个边。typedef enum NSMinXEdge = 0,NSMinXEdge = 1,NSMinXEdge = 2,NSMinXEdge = 3 NSRectEdge;Core Graphics中对应的结构体是CGRect。表示矩形各边的

27、类型是CGRectEdge型,其中的常量名用CG替换NG。下面是元素都为0的3个常量结构体,分别表示大小为0、原点(x和y坐标均为0)和以原点为中心、大小为0的矩形。extern const NSSize NSZeroSize;extern const NSPoint NSZeroSize;extern const NSRect NSZeroSize;Core Graphics中这三个常量都以CG开头,以Zero结尾(CG_EXTERN就是extern的宏定义)。CG_EXTERN const CGSize CGSizeZero;CG_EXTERN const CGPoint CGPointZ

28、ero;CG_EXTERN const CGRect CGRectZero;虽然目前Cocoa环境下的结构体和Core Graphics中的结构体的定义基本一样,但不能保证未来不发生变化,所以当需要传递信息时,可以使用下述函数。结构体NSSize和CGSize之间转换用的函数CGSize NSSizeToCGSize(NSSize nssize)NSSize NSSizeFromCGSize(CGSize cgsize)结构体NSPoint和CGPoint之间转换用的函数CGPoint NSPointToCGPoint(NSPoint nspoint)NSPoint NSPointFromCG

29、Point(CGPoint cgpoint)结构体NSRect和CGRect之间转换用的函数CGRect NSRectToCGRect(NSRect nsrect)NSRect NSRectFromCGRect(CGRect cgrect)这3个结构体中还定义了生成新的结构体并将其作为函数值返回的函数,如下所示:NSSize NSMakeSize(CGFloat width, CGFloat height)CGSize CGSizeMake(CGFloat width, CGFloat height)返回表示尺寸的结构体,结构体中包含了指定的宽和高。NSPoint NSMakePoint(CG

30、Float x, CGFloat y)CGPoint CGPointMake(CGFloat x, CGFloat y)返回表示点的结构体,结构体中包含了指定的xy坐标。NSRect NSMakeRect(CGFloat x, CGFloat y, CGFloat w, CGFloat h)NSRect CGRectMake(CGFloat x, CGFloat y, CGFloat w, CGFloat h)返回包含了指定的位置和大小的矩形结构体。每个结构体都有比较用的函数。函数的返回值bool实际上是C99中新增的布尔类型的宏定义,也定义了表示真和假的常量值true和false。BOOL

31、NSEqualSizes(NSSize aSize, NSSize bSize)bool CGSizeEqualToSize(CGSize size1, CGSize size2)如果两个尺寸相等则返回真。BOOL NSEqualPoints(NSPoint aPoint, NSPoint bPoint)bool CGPointEqualToPoint(CGPoint point1, CGPoint point2)如果两个点相等则返回真。BOOL NSEqualSizes(NSSize aSize, NSSize bSize)bool CGRectEqualToRect(CGRect rect

32、1, CGRect rect2)如果两个矩形相等则返回真。每个结构体都有和字符串形式进行互相转换的函数。NSString *NSStringFromSize(NSSize aSize)以"w,h"的格式返回aSize的值。NSSizeFromString():根据字符串指定的内容,返回一个NSSize结构体。NSString *NSStringFromPoint(NSPoint aPoint)以"x,y"的格式返回aPoint的值。NSPointFromString():根据字符串指定的内容,返回一个NSPoint结构体。NSString *NSStri

33、ngFromRect(NSRect aRect) 以"x,y,w,h"的格式返回aRect的值。NSRect FromString():根据字符串指定的内容,返回一个NSRect结构体。下面是矩形的相关函数。CGFloat NSHeight(NSRect aRect)CGFloat CGRectGetHeight(CGRect rect)返回矩形的高度。CGFloat NSWidth(NSRect aRect)CGFloat CGRectGetWidth(CGRect rect)返回矩形的宽度。CGFloat NSMaxX(NSRect aRect)CGFloat CGRe

34、ctGetMaxX(CGRect rect)返回矩形顶点中x坐标的最大值。CGFloat NSMaxY(NSRect aRect)CGFloat CGRectGetMaxY(CGRect rect)返回矩形顶点中y坐标的最大值。CGFloat NSMinX(NSRect aRect)CGFloat CGRectGetMinX(CGRect rect)返回矩形顶点中x坐标的最小值。CGFloat NSMinY(NSRect aRect)CGFloat CGRectGetMinY(CGRect rect)返回矩形顶点中y坐标的最小值。CGFloat NSMidX(NSRect aRect)CGFl

35、oat NSRectGetMidX(NSRect aRect)返回矩形在x轴方向的中心点。CGFloat NSMidY(NSRect aRect)CGFloat NSRectGetMidY(NSRect aRect)返回矩形在y轴方向的中心点。BOOL NSIsEmptyRect(NSRect aRect)bool CGRectIsEmpty(CGRect rect)如果参数指定的矩形的高度或者宽度是0或负数,则返回真。BOOL NSContainsRect(NSRect aRect, NSRect bRect)bool CGRectContainsRect(CGRect aRect, CGR

36、ect bRect)如果矩形aRect完全包含bRect,则返回真。BOOL NSMouseInRect(NSPoint aPoint, NSRect aRect, BOOL flipped)如果aPoint指定的点在aRect指定的矩形内,则返回YES。坐标系反转(y轴向下)的情况下,将参数flipped设为YES。图A-1(b)是正常的坐标系,(c)是反转的坐标系。图中实线的长方形边被认为在矩形内,虚线的长方形边被认为在矩形外。BOOL NSPointInRect(NSPoint aPoint, NSRect aRect)bool CGRectContainsPoint(CGRect re

37、ct, CGPoint point)坐标系反转的情况的下判断方法和NSMouseInRect()一样,也就相当于图A-1(c)的情况。要注意的是两个函数的参数的顺序是相反的。NSRect NSUnionRect(NSRect r1, NSRect r2)CGRect CGRectUnion(CGRect r1, CGRect r2)返回完全包含矩形r1和r2的最小的矩形。NSRect NSIntersectionRect(NSRect r1, NSRect r2)CGRect CGRectIntersection(CGRect r1, CGRect r2)返回两个矩形重合的部分。如果没有重合的

38、部分,或只有点或边重合,函数NSIntersectionRect会返回以原点为中心长和宽都为0的矩形,函数CGRectIntersection()则会返回表示矩形不存在的常量CGRectNull。可以用函数CGRectIsNull()来判断返回值是否为CGRectNull。BOOL NSintersectsRect(NSRect r1, NSRect r2)bool CGRectIntersectsRect(CGRect r1, CGRect r2)如果两个矩形r1和r2有重合的部分,则返回真。NSRect NSInsetRect(NSRect rect, CGFloat dx, CGFloa

39、t dy)CGRect CGRectInset(CGRect rect, CGFloat dx, CGFloat dy)在rect的基础上,将与y轴平行的两条边分别向内缩小dx,与x轴平行的两条边分别向内缩小dy,返回一个新矩形。NSRect NSIntegralRect(NSRect rect)CGRect CGRectIntegral(CGRect rect)返回一个新矩形,新矩形由原矩形扩展而来,新矩形的4个变量(x,y,width,height)由原矩形中所对应的值向上取整构成。NSRect NSOffsetRect(NSRect rect, CGFloat dx, CGFloat d

40、y)CGRect CGRectOffset(CGRect rect, CGFloat dx, CGFloat dy)把原矩形沿x轴方向平移dx,沿y轴方向平移dy,返回一个新矩形。void NSDivideRect(NSRect rect, NSRect *slice, NSRect *remainder, CGFloat amount, NSRectEdge edge)void CGRectDivide(CGRect rect, CGRect *slice, CGRect *remainder, CGFloat amount, CGRectEdge edge)将rect指定的矩形用edge指

41、定的边进行分割,返回两个新的矩形slice和remainder。矩形slice的大小由距离edge的距离amount来指定。范围结构体NSRange的定义如下所示,用来表示队列中的范围。表示范围的计算是从0开始的。以下介绍的函数和结构体都定义在Foundation/NSRange.h中。typedef struct _NSRange NSUInteger location;NSUInteger length; NSRange;Core Foundation中也有和NSRange类似的结构体叫作CFRange,和NSRange不同的是CFRange中location和length的类型是有符号的

42、CFIndex。CFRange定义在头文件CoreFoundation/CFBase.h中。typedef struct CFIndex location;CFIndex length; CFRange;下面我们说明一下和范围相关的函数。CFRange可用的函数比较少,绝大多数都是NSRange的函数。NSRange NSMakeRange(NSUInteger loc, NSUInteger len)CFRange CFRangeMake(CFIndex loc, CFIndex len)用指定的位置和长度生成一个范围。BOOL NSEqualRanges(NSRange range1, N

43、SRange range2)如果范围range1和range2的位置和长度都相同,则返回YES。BOOL NSLocationInRange(NSUInteger index, NSRange aRange)如果index指定的索引在aRange指定的范围之内,也就是说index大于aRange.location并且小于aRange.location + aRange.length,则返回YES。NSUInteger NSMaxRange(NSRange range)返回range.location + range.length,也就是范围内的最大值加1。NSRange NSIntersect

44、ionRange(NSRange range1, NSRange range2)返回范围range1和range2重合的部分。如果没有任何重合部分,则length为0。NSRange NSUnionRange(NSRange range1, NSRange range2)返回包含range1和range2的最小范围。NSString *NSStringFromRange(NSRange aRange)将aRange以"loc,Ing"形式的字符串返回。NSRangeFromString()是上面的逆向转换函数,可从字符串生成一个NSRange的范围。类名和选择器名Class

45、 NSClassFromString(NSString *aClassName)返回类名为aClassName的类对象。如果这个类还没有被加载,则返回nil。NSString *NSStringFromClass(Class aClass)以字符串的形式返回类aClass的名字。SEL NSSelectorFromString(NSString *aSelectorName)返回名为aSelectorName的选择器,如果不存在,则返回0。NSString *NSStringFromSelector(SEL aSelector)以字符串的形式返回aSelector指定的选择器的名字。用户信息以

46、下函数都定义在头文件Foundation/NSPathUtilities.h中。NSString *NSUserName(void)返回当前用户的用户名。NSString *NSFullUserName(void)返回当前用户的全名。NSString *NSHomeDirector(void)返回当前用户的根目录的路径。NSString *NSHomeDirectoryForUser(NSString *userName)返回userName指定的用户的根目录的路径。日志信息void NSLog(NSString *format, .)将指定的日志信息输出到标准错误输出stderr中。输出日志

47、信息的时候会在指定的字符串前面自动添加时间戳和进程ID。Format中会指定printf()形式的格式字符串,之后紧跟格式指定符对应的变量,中间用逗号分隔。void NSLogv(NSString *format, va_list args)将指定的日志信息输出到标准错误输出stderr中。为参数args传入可变的参数列表。字符串编码NSStringEncoding表示字符串的编码类型,定义在Foundation/NSString.h中。typedefNSUInteger NSStringEncoding;一些常用的NSStringEncoding常量如下表所示:表A-1 文字编码常量NSASCIIStringEncoding7位版的ASCII编码(低7位表示不同的ASCII字符,字节的最高位固定为0)NSNEXTSTEPStringEncoding8位版的ASCII编码(NEXTS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论