NSNotFound
定义一个值,用于指示请求项找不到或不存在。
Defines a value that indicates that an item requested couldn’t be found or doesn’t exist.enum { NSNotFound = NSIntegerMax};
NSEnumerationOptions
块枚举操作的选项。
Options for Block enumeration operations.enum { NSEnumerationConcurrent = (1UL << 0), NSEnumerationReverse = (1UL << 1),};typedef NSUInteger NSEnumerationOptions;
Options:位枚举
NSString *str = @"abc"; NSString *str1 = @"Abc"; // 比较的时候不区分大小写 NSComparisonResult result = [str compare:str1 options:NSCaseInsensitiveSearch|]; switch (result) { case NSOrderedAscending: NSLog(@"str < str1,升序"); break; case NSOrderedDescending: NSLog(@"str > str1,降序"); break; case NSOrderedSame: NSLog(@"str == str1,"); break; default: break;
NSString *str = @"abc"; NSString *str1 = @"ab"; // 比较的时候不区分大小写和根据个数 NSComparisonResult result = [str compare:str1 options:NSCaseInsensitiveSearch|NSNumericSearch]; switch (result) { case NSOrderedAscending: NSLog(@"str < str1,升序"); break; case NSOrderedDescending: NSLog(@"str > str1,降序"); break; case NSOrderedSame: NSLog(@"str == str1,"); break; default: break;
NSComparisonResult
这些常量用于指示请求中的条目如何排序。
These constants are used to indicate how items in a request are ordered.enum { = -1, -1 升序 , 0 降序 1 ==};
typedef NSComparisonResult;
NSString *str = @"abc"; NSString *str1 = @"abd"; NSComparisonResult result = [str compare:str1]; switch (result) { case NSOrderedAscending: NSLog(@"str < str1,升序"); break; case NSOrderedDescending: NSLog(@"str > str1,降序"); break; case NSOrderedSame: NSLog(@"str == str1,"); break; default: break;
NSSortOptions
块排序操作的选项。
Options for Block sorting operations.struct NSSortOptions : RawOptionSetType { init(_ rawValue: UInt) init(rawValue rawValue: UInt) static var Concurrent: NSSortOptions { get } static var Stable: NSSortOptions { get } }
enum { NSSortConcurrent = (1UL << 0), NSSortStable = (1UL << 4),};typedef NSUInteger NSSortOptions;
NSSearchPathDirectory
这些常量指定了各种目录位置,用于方法 URLsForDirectory:inDomains: 和 URLForDirectory:inDomain:appropriateForURL:create:error:
NSFileManager
。
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 and NSUInteger Maximum and Minimum Values
代表 NSInteger
和 NSUInteger 的最大值和最小值的常量。
NSInteger
and NSUInteger
. #define NSIntegerMaxLONG_MAX#define NSIntegerMinLONG_MIN #define NSUIntegerMax ULONG_MAX2、基础数据类型参考 Foundation Data Types Reference (以下仅选出常用的部分,完整列表可点击此行标题转入官网链接)
NSInteger
用于描述一个整型。(这个不是一个类,而是一个宏定义,是 C 长整型的别名)
Used to describe an integer.typedef long NSInteger;
NSUInteger
用于描述一个无符号整型。(这个也不是一个类,而是一个宏定义,是 C 无符号长整型的别名)
Used to describe an unsigned integer.typedef unsigned long NSUInteger;
NSTimeInterval
用于指定一个时间间隔,单位 秒。
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;
NSUncaughtExceptionHandler
用于处理异常处理域之外的异常。也即系统无法捕获的异常,配合 XCode 做异常跟踪很有用处。
Used for the function handling exceptions outside of an exception-handling domain.typedef volatile void NSUncaughtExceptionHandler(NSException *exception);
NSStringEncoding
该类型代表字符串编码值。
Type representing string-encoding values.typedef NSUInteger NSStringEncoding;
String Encodings
以下常量由 NSString
提供,作用可用的字符串编码。
NSString
as possible string encodings. enum { NSASCIIStringEncoding = 1,
。。。 NSUTF8StringEncoding = 4,
。。。 NSUnicodeStringEncoding = 10,
。。。 NSProprietaryStringEncoding = 65536};
以上节选一部分常用的,从上面的链接,可以查看苹果官方文档完整部分。
但是,你会发现没有 GB2312、GBK 等编码,这个可以通过核心基础框架来解决,在基础框架中并未提供相应的编码。
CFStringConvertEncodingToNSStringEncoding
Returns the Cocoa encoding constant that maps most closely to a given Core Foundation encoding constant.
unsigned long CFStringConvertEncodingToNSStringEncoding ( CFStringEncoding encoding);
CFStringConvertNSStringEncodingToEncoding
Returns the Core Foundation encoding constant that is the closest mapping to a given Cocoa encoding.
CFStringEncoding CFStringConvertNSStringEncodingToEncoding ( unsigned long encoding);
CFStringEncoding
An integer type for constants used to specify supported string encodings in various CFString functions.
typedef UInt32 CFStringEncoding;
External String Encodings
CFStringEncoding 常量用于可能被 CFString 支持的编码。CFStringEncoding
constants for encodings that may be supported by CFString.
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);