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 {
NSOrderedAscending = -1, -1 升序
NSOrderedSame, 0 降序
NSOrderedDescending 1 ==
};
typedef NSInteger 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
。
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 and NSUInteger Maximum and Minimum Values
代表 NSInteger
和 NSUInteger 的最大值和最小值的常量。
Constants representing the maximum and minimum values of NSInteger
and NSUInteger
.
#define NSIntegerMaxLONG_MAX#define NSIntegerMinLONG_MIN #define NSUIntegerMax ULONG_MAX
2、基础数据类型参考 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
提供,作用可用的字符串编码。
The following constants are provided by 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 支持的编码。
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);