NSComparisonResul、NSNotFound、NSEnumerationOptions......的用处

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 支持的编码。
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);

转载于:https://www.cnblogs.com/1023843587qq/p/4782345.html

weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值