iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明
太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
| 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 (下面仅选出经常使用的部分,完整列表可点击此行标题转入官网链接)
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;
NSComparisonResult
这些常量用于指示请求中的条目怎样排序。
These constants are used to indicate how items in a request are ordered.
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
NSSortOptions
块排序操作的选项。
Options for Block sorting operations.
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 NSIntegerMax LONG_MAX
#define NSIntegerMin LONG_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);
NSSetUncaughtExceptionHandler
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);
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
};
以上节选一部分经常使用的,从上面的链接,能够查看苹果官方文档完整部分。
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);
3、基础框架參考 Foundation
Framework Reference
和 JSON 解析、撤销与重做、定时器类、线程同步类、线程安全类、线程通讯类、网络类、文件
之 偏好设置即用户默认设置类、文件 之 应用包及沙盒管理类、文件 之 归档与串行化类、文件 之 流类、蓝牙点对点通讯类、其他用得不多的少许类。
Functions Reference
Assertions
For additional information about Assertions, see Assertions and Logging Programming Guide.
NSAssertNSAssert1NSAssert2NSAssert3NSAssert4NSAssert5NSCAssertNSCAssert1NSCAssert2NSCAssert3NSCAssert4NSCAssert5NSCParameterAssertNSParameterAssert
Bundles
For additional information on generating strings files see “Using Strings Files for User-Facing Text” in Internationalization
Programming Topics.
NSLocalizedStringNSLocalizedStringFromTableNSLocalizedStringFromTableInBundleNSLocalizedStringWithDefaultValue
Byte Ordering
NSConvertHostDoubleToSwappedNSConvertHostFloatToSwappedNSConvertSwappedDoubleToHostNSConvertSwappedFloatToHostNSHostByteOrderNSSwapBigDoubleToHostNSSwapBigFloatToHostNSSwapBigIntToHostNSSwapBigLongLongToHostNSSwapBigLongToHostNSSwapBigShortToHostNSSwapDoubleNSSwapFloatNSSwapHostDoubleToBigNSSwapHostDoubleToLittleNSSwapHostFloatToBigNSSwapHostFloatToLittleNSSwapHostIntToBigNSSwapHostIntToLittleNSSwapHostLongLongToBigNSSwapHostLongLongToLittleNSSwapHostLongToBigNSSwapHostLongToLittleNSSwapHostShortToBigNSSwapHostShortToLittleNSSwapIntNSSwapLittleDoubleToHostNSSwapLittleFloatToHostNSSwapLittleIntToHostNSSwapLittleLongLongToHostNSSwapLittleLongToHostNSSwapLittleShortToHostNSSwapLongNSSwapLongLongNSSwapShort
Decimals
You can also use the class NSDecimalNumber for
decimal arithmetic.
NSDecimalAddNSDecimalCompactNSDecimalCompareNSDecimalCopyNSDecimalDivideNSDecimalIsNotANumberNSDecimalMultiplyNSDecimalMultiplyByPowerOf10NSDecimalNormalizeNSDecimalPowerNSDecimalRoundNSDecimalStringNSDecimalSubtract
Exception Handling
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.
Managing Object Allocation and Deallocation
NSAllocateObjectNSCopyObjectNSDeallocateObjectNSDecrementExtraRefCountWasZeroNSExtraRefCountNSIncrementExtraRefCountNSShouldRetainWithZone
Interacting with the Objective-C Runtime
NSGetSizeAndAlignmentNSClassFromStringNSStringFromClassNSSelectorFromStringNSStringFromSelectorNSStringFromProtocolNSProtocolFromString
Logging Output
Managing File Paths
NSFullUserNameNSHomeDirectoryNSHomeDirectoryForUserNSOpenStepRootDirectoryNSSearchPathForDirectoriesInDomainsNSTemporaryDirectoryNSUserName
Managing Ranges
NSEqualRangesNSIntersectionRangeNSLocationInRangeNSMakeRangeNSMaxRangeNSRangeFromStringNSStringFromRangeNSUnionRange
Uncaught Exception Handlers
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.
Core Foundation ARC Integration
Managing Memory
NSAllocateMemoryPagesNSCopyMemoryPagesNSDeallocateMemoryPagesNSLogPageSizeNSPageSizeNSRealMemoryAvailableNSRoundDownToMultipleOfPageSizeNSRoundUpToMultipleOfPageSizeNSMakeCollectable
Managing Zones
Zones are ignored on iOS and 64-bit runtime on OS X. You should not use zones in current development.
iOS Foundation 框架概述文档:常量、数据类型、框架、函数、公布声明的更多相关文章
- 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理
Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...
- VS2010-MFC(利用MFC向导生成单文档应用程序框架)
一.VC++与MFC 讲VC++免不了要提MFC,MFC全称Microsoft Foundation Classes,也就是微软基础类库.它是VC++的核心,是C++与Windows API的结合,很 ...
- VUX 移动前端框架使用文档
VUX 移动前端框架使用文档 https://owlaford.gitbooks.io/vux-mobile-framework/content/index.html
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)
VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)-软件开发-鸡啄米 http://www.jizhuomi.com/software/141.html 上一讲中讲了VS20 ...
- MFC 应用、模板、框架、文档、视图 的关系
从该对象 如何访问其他对象 全局函数 调用全局函数AfxGetApp可以得到CWinApp应用类指针 应用 AfxGetApp()->m_pMainWnd为框架窗口指针:用CWinApp::Ge ...
- DL动态载入框架技术文档
DL动态载入框架技术文档 DL技术交流群:215680213 1. Android apk动态载入机制的研究 2. Android apk动态载入机制的研究(二):资源载入和activity生命周期管 ...
- drf框架接口文档
drf框架接口文档 REST framework可以自动帮助我们生成接口文档. 接口文档以网页的方式呈现. 自动接口文档能生成的是继承自APIView及其子类的视图. 一.安装依赖 pip insta ...
- 使用 NuGet 下载最新的 Rafy 框架及文档
为了让开发者更方便地使用 Rafy 领域实体框架,本月,我们已经把最新版本的 Rafy 框架程序集发布到了 nuget.org 上,同时,还把 RafySDK 的最新版本发布到了 VisualStud ...
- iOS开发主要参考文档(转载)
Objective-C,语言的系统详细资料.这是做iOS开发的前题与基础.https://developer.apple.com/library/ios/#documentation/Cocoa/Co ...
随机推荐
- liux下ftp链接服务器的常用命令
FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用 FTP,都会遇到大量的FTP内部命令.熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍 ...
- 【转】cocos2d-x 3x Sprite3D
Sprite3D Sprite3D works in many ways like a normal Sprite. Sprite3D is a three-dimensional model tha ...
- TCP/IP详解学习笔记(1)-基本概念
为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样 ...
- strleng函数和filterHtml函数的据悉
紧接着“CKEditor如何统计文字数量”,我想稍微说下,下面就filterHtml就是用来过滤全部html标签的. /** *过滤html标签 */ function filterHtml(s){ ...
- Java之UncaughtExceptionHandler
概述: UncaughtExceptionHandler是为了捕获没有被捕获的异常,包括运行时异常,执行错误(内存溢出等),子线程抛出的异常等,你可以在uncaughtException(xx)里对后 ...
- android学习笔记五
Android中的category大全 Api Level 3(SDK 1.5)和Api Level 4(SDK 1.6): android.intent.category.ALTERNATIVE a ...
- centos系统常用软件环境搭建
yum源制作grub常见问题:http://linux.chinaunix.net/techdoc/beginner/2008/01/04/975921.shtml 系统安装: 2 软件安装:yum ...
- EasyHook远注简单监控示例 z
http://www.csdn 123.com/html/itweb/20130827/83559_83558_83544.htm 免费开源库EasyHook(inline hook),下面是下载地址 ...
- XTUOJ 1246 Heartstone 贪心
题意:挺好懂得 分析:先计算出如果不能用(减2)操作,至少需要多少个(减3)操作,这个很好计算 然后就是尽量多的去减少(减3)操作,肯定先抹平 余2 和 余1 的,然后就可以了 #include &l ...
- bjfu1250 模拟
这题貌似是蓝桥杯的一题改了个题面. 就是模拟啦,应该有比我的更简洁的方法. 我的方法是把所有的人(蚂蚁)按位置排完序以后从左往右看,每次有一个向左走的,就会把最左边的t出,这个变成向右中,同时,从左端 ...