iOS Foundation 框架概述文档:常量、数据类型、框架、函数、发布声明
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
Foundation 框架概述文档:常量、数据类型、框架、函数、发布声明 | ||
Title | Topic | Date |
基础常量参考 Foundation Constants Reference | A | Content Update |
基础数据类型参考 Foundation Data Types Reference | A | Minor Change |
基础框架参考 Foundation Framework Reference | A | Content Update |
基础函数参考 Foundation Functions Reference | A | Minor Change |
Foundation Release Notes for iOS | A | First Version |
Foundation Release Notes for OS X v10.9 | A | Content Update |
1、基础常量参考 Foundation Constants Reference (以下仅选出常用的部分,完整列表可点击此行标题转入官网链接)
定义一个值,用于指示请求项找不到或不存在。
Defines a value that indicates that an item requested couldn’t be found or doesn’t exist.
enum { NSNotFound = NSIntegerMax };
块枚举操作的选项。
Options for Block enumeration operations.
enum { NSEnumerationConcurrent = (1UL << 0), NSEnumerationReverse = (1UL << 1), }; typedef NSUInteger NSEnumerationOptions;
这些常量用于指示请求中的条目如何排序。
These constants are used to indicate how items in a request are ordered.
enum { NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending }; typedef NSInteger NSComparisonResult;
块排序操作的选项。
Options for Block sorting operations.
enum { NSSortConcurrent = (1UL << 0), NSSortStable = (1UL << 4), }; typedef NSUInteger NSSortOptions;
这些常量指定了各种目录位置,用于方法 URLsForDirectory:inDomains: 和 URLForDirectory:inDomain:appropriateForURL:create:error:
NSFileManager
。
These constants specify the location of a variety of directories by the URLsForDirectory:inDomains:
andURLForDirectory:inDomain:appropriateForURL:create:error:
NSFileManager
methods.
enum { NSApplicationDirectory = 1, NSDemoApplicationDirectory, NSDeveloperApplicationDirectory, NSAdminApplicationDirectory, NSLibraryDirectory, NSDeveloperDirectory, NSUserDirectory, NSDocumentationDirectory, NSDocumentDirectory, NSCoreServiceDirectory, NSAutosavedInformationDirectory = 11, NSDesktopDirectory = 12, NSCachesDirectory = 13, NSApplicationSupportDirectory = 14, NSDownloadsDirectory = 15, NSInputMethodsDirectory = 16, NSMoviesDirectory = 17, NSMusicDirectory = 18, NSPicturesDirectory = 19, NSPrinterDescriptionDirectory = 20, NSSharedPublicDirectory = 21, NSPreferencePanesDirectory = 22, NSItemReplacementDirectory = 99, NSAllApplicationsDirectory = 100, NSAllLibrariesDirectory = 101, }; typedef NSUInteger NSSearchPathDirectory;
代表 NSInteger
和 NSUInteger 的最大值和最小值的常量。
Constants representing the maximum and minimum values of NSInteger
and NSUInteger
.
#define NSIntegerMax LONG_MAX #define NSIntegerMin LONG_MIN #define NSUIntegerMax ULONG_MAX
用于描述一个整型。(这个不是一个类,而是一个宏定义,是 C 长整型的别名)
Used to describe an integer.
typedef long NSInteger;
用于描述一个无符号整型。(这个也不是一个类,而是一个宏定义,是 C 无符号长整型的别名)
Used to describe an unsigned integer.
typedef unsigned long NSUInteger;
用于指定一个时间间隔,单位 秒。
Used to specify a time interval, in seconds.
以下这句原文,后半句关于毫秒部分的精度,没太明白,有懂得帮准确翻译一下,在此谢过。
NSTimeInterval
is always specified in seconds; it yields sub-millisecond precision over a range of 10,000 years.
typedef double NSTimeInterval;
用于处理异常处理域之外的异常。也即系统无法捕获的异常,配合 XCode 做异常跟踪很有用处。
Used for the function handling exceptions outside of an exception-handling domain.
typedef volatile void NSUncaughtExceptionHandler(NSException *exception);
Changes the top-level error handler.
void NSSetUncaughtExceptionHandler ( NSUncaughtExceptionHandler * );
声明全局异常处理函数,它就是 NSUncaughtExceptionHandler *
void UncaughtExceptionHandler(NSException *exception) { // 获取异常相关信息 NSArray *callStackSymbols = [exception callStackSymbols]; NSString *callStackSymbolStr = [callStackSymbols componentsJoinedByString:@"\n"]; NSString *reason = [exception reason]; NSString *name = [exception name]; // 获取系统当前时间 NSDate * date = [NSDate date]; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init ]; [dateFormatter setDateFormat:@"yyyy年MM月dd日 HH小时mm分ss秒"]; NSString * dateStr = [dateFormatter stringFromDate:date]; NSLog(@"系统当前时间为:%@ \n",dateStr); NSLog(@"异常名称:%@ \n",name); NSLog(@"异常原因:%@ \n",reason); NSLog(@"堆栈标志:%@ \n",callStackSymbolStr); }在应用适当初始化位置为系统设置该回调函数指针,AppDelegate 完成启动方法中比较适合:
@implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSSetUncaughtExceptionHandler(&UncaughtExceptionHandler);
该类型代表字符串编码值。
Type representing string-encoding values.
typedef NSUInteger NSStringEncoding;
以下常量由 NSString
提供,作用可用的字符串编码。
The following constants are provided by NSString
as possible string encodings.
enum { NSASCIIStringEncoding = 1,
。。。 NSUTF8StringEncoding = 4,
。。。 NSUnicodeStringEncoding = 10,
。。。 NSProprietaryStringEncoding = 65536 };
Returns the Cocoa encoding constant that maps most closely to a given Core Foundation encoding constant.
unsigned long CFStringConvertEncodingToNSStringEncoding ( CFStringEncoding encoding );
Returns the Core Foundation encoding constant that is the closest mapping to a given Cocoa encoding.
CFStringEncoding CFStringConvertNSStringEncodingToEncoding ( unsigned long encoding );
An integer type for constants used to specify supported string encodings in various CFString functions.
typedef UInt32 CFStringEncoding;
CFStringEncoding 常量用于可能被 CFString 支持的编码。
constants for encodings that may be supported by CFString.
CFStringEncoding
enum { 。。。 kCFStringEncodingGB_2312_80 = 0x0630, kCFStringEncodingGBK_95 = 0x0631, kCFStringEncodingGB_18030_2000 = 0x0632, 。。。 kCFStringEncodingBig5 = 0x0A03, 。。。 kCFStringEncodingHZ_GB_2312 = 0x0A05, 。。。 };
kCFStringEncodingGB_18030_2000 是 GB 编码的最大集合,可以使用这个,用如下方式:
NSStringEncoding gbencoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
For additional information about Assertions, see Assertions and Logging Programming Guide.
NSAssert
NSAssert1
NSAssert2
NSAssert3
NSAssert4
NSAssert5
NSCAssert
NSCAssert1
NSCAssert2
NSCAssert3
NSCAssert4
NSCAssert5
NSCParameterAssert
NSParameterAssert
For additional information on generating strings files see “Using Strings Files for User-Facing Text” in Internationalization Programming Topics.
NSLocalizedString
NSLocalizedStringFromTable
NSLocalizedStringFromTableInBundle
NSLocalizedStringWithDefaultValue
NSConvertHostDoubleToSwapped
NSConvertHostFloatToSwapped
NSConvertSwappedDoubleToHost
NSConvertSwappedFloatToHost
NSHostByteOrder
NSSwapBigDoubleToHost
NSSwapBigFloatToHost
NSSwapBigIntToHost
NSSwapBigLongLongToHost
NSSwapBigLongToHost
NSSwapBigShortToHost
NSSwapDouble
NSSwapFloat
NSSwapHostDoubleToBig
NSSwapHostDoubleToLittle
NSSwapHostFloatToBig
NSSwapHostFloatToLittle
NSSwapHostIntToBig
NSSwapHostIntToLittle
NSSwapHostLongLongToBig
NSSwapHostLongLongToLittle
NSSwapHostLongToBig
NSSwapHostLongToLittle
NSSwapHostShortToBig
NSSwapHostShortToLittle
NSSwapInt
NSSwapLittleDoubleToHost
NSSwapLittleFloatToHost
NSSwapLittleIntToHost
NSSwapLittleLongLongToHost
NSSwapLittleLongToHost
NSSwapLittleShortToHost
NSSwapLong
NSSwapLongLong
NSSwapShort
You can also use the class NSDecimalNumber
for decimal arithmetic.
NSDecimalAdd
NSDecimalCompact
NSDecimalCompare
NSDecimalCopy
NSDecimalDivide
NSDecimalIsNotANumber
NSDecimalMultiply
NSDecimalMultiplyByPowerOf10
NSDecimalNormalize
NSDecimalPower
NSDecimalRound
NSDecimalString
NSDecimalSubtract
You can find the following macros implemented in NSException.h
. They are obsolete and should not be used. See Exception Programming Topics for information on how to handle exceptions.
NS_DURING
NS_ENDHANDLER
NS_HANDLER
NS_VALUERETURN
NS_VOIDRETURN
NSAllocateObject
NSCopyObject
NSDeallocateObject
NSDecrementExtraRefCountWasZero
NSExtraRefCount
NSIncrementExtraRefCount
NSShouldRetainWithZone
NSGetSizeAndAlignment
NSClassFromString
NSStringFromClass
NSSelectorFromString
NSStringFromSelector
NSStringFromProtocol
NSProtocolFromString
NSLog
NSLogv
NSFullUserName
NSHomeDirectory
NSHomeDirectoryForUser
NSOpenStepRootDirectory
NSSearchPathForDirectoriesInDomains
NSTemporaryDirectory
NSUserName
NSEqualRanges
NSIntersectionRange
NSLocationInRange
NSMakeRange
NSMaxRange
NSRangeFromString
NSStringFromRange
NSUnionRange
Whether there’s an uncaught exception handler function, any uncaught exceptions cause the program to terminate, unless the exception is raised during the posting of a notification.
NSGetUncaughtExceptionHandler
NSSetUncaughtExceptionHandler
CFBridgingRetain
CFBridgingRelease
NSAllocateMemoryPages
NSCopyMemoryPages
NSDeallocateMemoryPages
NSLogPageSize
NSPageSize
NSRealMemoryAvailable
NSRoundDownToMultipleOfPageSize
NSRoundUpToMultipleOfPageSize
NSMakeCollectable
Zones are ignored on iOS and 64-bit runtime on OS X. You should not use zones in current development.
NSCreateZone
NSRecycleZone
NSSetZoneName
NSZoneCalloc
NSZoneFree
NSZoneFromPointer
NSZoneMalloc
NSZoneName
NSZoneRealloc
NSDefaultMallocZone