iOS11 中 Foundation.framework 的主要改动一览

标记了许多方法、属性、枚举、常量在watchos,tvos上可用,下面不再一一列出

FoundationErrors.h

- 枚举类型 NSCocoaErrorDomain 新增值:NSCoderInvalidValueError

FoundationLegacySwiftCompatibility.h

- 增加 NSBundle 等一些类的接口

NSArray.h

- 新增方法: - (BOOL)writeToURL:(NSURL *)url error:(NSError **)error;
- 新增方法: - (nullable NSArray<ObjectType> *)initWithContentsOfURL:(NSURL *)url error:(NSError **)error;
- 新增方法: + (nullable NSArray<ObjectType> *)arrayWithContentsOfURL:(NSURL *)url error:(NSError **)error;
- 废弃方法:
        - (void)getObjects:(ObjectType _Nonnull __unsafe_unretained [_Nonnull])objects;
        + (nullable NSArray<ObjectType> *)arrayWithContentsOfFile:(NSString *)path;
        + (nullable NSArray<ObjectType> *)arrayWithContentsOfURL:(NSURL *)url;
        - (nullable NSArray<ObjectType> *)initWithContentsOfFile:(NSString *)path;
        - (nullable NSArray<ObjectType> *)initWithContentsOfURL:(NSURL *)url;
        - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
        - (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;

NSAttributedString.h

- 增加别名 NSAttributedStringKey 属性名类型使用NSString的地方都改用此别名

NSCoder.h

- 新增方法:- (void)decodeValueOfObjCType:(const char *)type at:(void *)data size:(NSUInteger)size
- 废弃方法:- (void)decodeValueOfObjCType:(const char *)type at:(void *)data;

NSDateComponentsFormatter.h

- 新增属性:@property (nullable, copy) NSDate *referenceDate; 

NSDictionary.h

- 新增方法:- (BOOL)writeToURL:(NSURL *)url error:(NSError **)error;
- 新增方法:- (nullable NSDictionary<NSString *, ObjectType> *)initWithContentsOfURL:(NSURL *)url error:(NSError **)error;
- 新增方法:+ (nullable NSDictionary<NSString *, ObjectType> *)dictionaryWithContentsOfURL:(NSURL *)url error:(NSError **)error;
- 废弃方法:
        + (nullable NSDictionary<KeyType, ObjectType> *)dictionaryWithContentsOfFile:(NSString *)path;
        + (nullable NSDictionary<KeyType, ObjectType> *)dictionaryWithContentsOfURL:(NSURL *)url;
        - (nullable NSDictionary<KeyType, ObjectType> *)initWithContentsOfFile:(NSString *)path;
        - (nullable NSDictionary<KeyType, ObjectType> *)initWithContentsOfURL:(NSURL *)url;
        - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
        - (BOOL)writeToURL:(NSURL *)url atomically:(BOOL)atomically;

NSError.h

- 公开常量:NSDebugDescriptionErrorKey
- 新增常量:NSLocalizedFailureErrorKey

NSFileCoordinator.h

- 新增方法:- (void)itemAtURL:(NSURL *)url didChangeUbiquityAttributes:(NSSet <NSURLResourceKey> *)attributes;

NSFileManager.h

- 增加别名:NSFileProviderServiceName
- 新增方法:- (void)getFileProviderServicesForItemAtURL:(NSURL *)url completionHandler:(void (^)(NSDictionary <NSFileProviderServiceName, NSFileProviderService *> * _Nullable services, NSError * _Nullable error))completionHandler;
- 新增类:NSFileProviderService

NSFilePresenter.h

- 新增方法:- (void)presentedItemDidChangeUbiquityAttributes:(NSSet<NSURLResourceKey> *)attributes;
- 新增属性:@property (readonly, strong) NSSet<NSURLResourceKey> *observedPresentedItemUbiquityAttributes;

NSFileVersion.h

- 公开属性:@property (nullable, readonly, copy) NSPersonNameComponents *originatorNameComponents

NSISO8601DateFormatter.h

- 枚举NSISO8601DateFormatOptions新增值:NSISO8601DateFormatWithFractionalSeconds

NSItemProvider.h

- 新增枚举类型:NSItemProviderRepresentationVisibility
- 新增枚举类型:NSItemProviderFileOptions
- 新增协议:NSItemProviderWriting
- 新增协议:NSItemProviderReading
- 新增方法:- (void)registerDataRepresentationForTypeIdentifier:(NSString *)typeIdentifier
                                     visibility:(NSItemProviderRepresentationVisibility)visibility
                                    loadHandler:(NSProgress * _Nullable (^)(void (^completionHandler)(NSData * _Nullable data, NSError * _Nullable error)))loadHandler;
- 新增方法:- (void)registerFileRepresentationForTypeIdentifier:(NSString *)typeIdentifier
                                    fileOptions:(NSItemProviderFileOptions)fileOptions
                                     visibility:(NSItemProviderRepresentationVisibility)visibility
                                    loadHandler:(NSProgress * _Nullable (^)(void (^completionHandler)(NSURL * _Nullable url, BOOL coordinated, NSError * _Nullable error)))loadHandler
- 新增方法:- (NSArray<NSString *> *)registeredTypeIdentifiersWithFileOptions:(NSItemProviderFileOptions)fileOptions;
- 新增方法:- (BOOL)hasRepresentationConformingToTypeIdentifier:(NSString *)typeIdentifier;
                                    fileOptions:(NSItemProviderFileOptions)fileOptions;
- 新增方法:- (NSProgress *)loadDataRepresentationForTypeIdentifier:(NSString *)typeIdentifier
                                  completionHandler:(void(^)(NSData * _Nullable data, NSError * _Nullable error))completionHandler ;
- 新增方法:- (NSProgress *)loadFileRepresentationForTypeIdentifier:(NSString *)typeIdentifier
                                  completionHandler:(void(^)(NSURL * _Nullable url, NSError * _Nullable error))completionHandler;
- 新增方法:- (NSProgress *)loadInPlaceFileRepresentationForTypeIdentifier:(NSString *)typeIdentifier
                                         completionHandler:(void (^)(NSURL * _Nullable url, BOOL isInPlace, NSError * _Nullable error))completionHandler;
- 新增属性:@property (atomic, copy, nullable) NSString *suggestedName;
- 新增方法:- (instancetype)initWithObject:(id<NSItemProviderWriting>)object;
- 新增方法:- (void)registerObject:(id<NSItemProviderWriting>)object visibility:(NSItemProviderRepresentationVisibility)visibility;
- 新增方法:- (void)registerObjectOfClass:(Class<NSItemProviderWriting>)aClass
               visibility:(NSItemProviderRepresentationVisibility)visibility
              loadHandler:(NSProgress * _Nullable (^)(void (^completionHandler)(id<NSItemProviderWriting> _Nullable object, NSError * _Nullable error)))loadHandler;
- 新增方法:- (BOOL)canLoadObjectOfClass:(Class<NSItemProviderReading>)aClass;
- 新增方法:- (NSProgress *)loadObjectOfClass:(Class<NSItemProviderReading>)aClass
            completionHandler:(void (^)(id<NSItemProviderReading> _Nullable object, NSError * _Nullable error))completionHandler;

NSJSONSerialization.h

- 枚举 NSJSONWritingOptions 新增值:NSJSONWritingSortedKeys

NSLinguisticTagger.h

- 新增别名:NSLinguisticTagScheme
- 新增别名:NSLinguisticTag
- 新增枚举类型:NSLinguisticTaggerUnit
- 新增方法:+ (NSArray<NSLinguisticTagScheme> *)availableTagSchemesForUnit:(NSLinguisticTaggerUnit)unit language:(NSString *)language;
- 新增方法:- (NSRange)tokenRangeAtIndex:(NSUInteger)charIndex unit:(NSLinguisticTaggerUnit)unit;
- 新增方法:- (void)enumerateTagsInRange:(NSRange)range unit:(NSLinguisticTaggerUnit)unit scheme:(NSLinguisticTagScheme)scheme options:(NSLinguisticTaggerOptions)options usingBlock:(void (NS_NOESCAPE ^)(NSLinguisticTag _Nullable tag, NSRange tokenRange, BOOL *stop))block;
- 新增方法:- (nullable NSLinguisticTag)tagAtIndex:(NSUInteger)charIndex unit:(NSLinguisticTaggerUnit)unit scheme:(NSLinguisticTagScheme)scheme tokenRange:(nullable NSRangePointer)tokenRange;
- 新增方法:- (NSArray<NSLinguisticTag> *)tagsInRange:(NSRange)range unit:(NSLinguisticTaggerUnit)unit scheme:(NSLinguisticTagScheme)scheme options:(NSLinguisticTaggerOptions)options tokenRanges:(NSArray<NSValue *> * _Nullable * _Nullable)tokenRanges;
- 新增属性:@property (nullable, readonly, copy) NSString *dominantLanguage;
- 新增方法:+ (nullable NSString *)dominantLanguageForString:(NSString *)string;
- 新增方法:+ (nullable NSLinguisticTag)tagForString:(NSString *)string atIndex:(NSUInteger)charIndex unit:(NSLinguisticTaggerUnit)unit scheme:(NSLinguisticTagScheme)scheme orthography:(nullable NSOrthography *)orthography tokenRange:(nullable NSRangePointer)tokenRange;
- 新增方法:+ (NSArray<NSLinguisticTag> *)tagsForString:(NSString *)string range:(NSRange)range unit:(NSLinguisticTaggerUnit)unit scheme:(NSLinguisticTagScheme)scheme options:(NSLinguisticTaggerOptions)options orthography:(nullable NSOrthography *)orthography tokenRanges:(NSArray<NSValue *> * _Nullable * _Nullable)tokenRanges;
- 新增方法:+ (void)enumerateTagsForString:(NSString *)string range:(NSRange)range unit:(NSLinguisticTaggerUnit)unit scheme:(NSLinguisticTagScheme)scheme options:(NSLinguisticTaggerOptions)options orthography:(nullable NSOrthography *)orthography usingBlock:(void (NS_NOESCAPE ^)(NSLinguisticTag _Nullable tag, NSRange tokenRange, BOOL *stop))block;

NSMetadataAttributes.h

- 公开常量:NSMetadataUbiquitousItemIsSharedKey
- 公开常量:NSMetadataUbiquitousSharedItemCurrentUserRoleKey
- 公开常量:NSMetadataUbiquitousSharedItemCurrentUserPermissionsKey
- 公开常量:NSMetadataUbiquitousSharedItemOwnerNameComponentsKey
- 公开常量:NSMetadataUbiquitousSharedItemMostRecentEditorNameComponentsKey
- 公开常量:NSMetadataUbiquitousSharedItemRoleOwner
- 公开常量:NSMetadataUbiquitousSharedItemRoleParticipant
- 公开常量:NSMetadataUbiquitousSharedItemPermissionsReadOnly
- 公开常量:NSMetadataUbiquitousSharedItemPermissionsReadWrite

NSOrthography.h

- 新增方法:+ (instancetype)defaultOrthographyForLanguage:(NSString *)language;

NSPathUtilities.h

- 枚举类型NSSearchPathDirectory的值NSTrashDirectory在iOS11上可用

NSPort.h

- 废弃方法:- (void)addConnection:(NSConnection *)conn toRunLoop:(NSRunLoop *)runLoop forMode:(NSRunLoopMode)mode NS_SWIFT_UNAVAILABLE("Use NSXPCConnection instead”);
- 废弃方法:- (void)removeConnection:(NSConnection *)conn fromRunLoop:(NSRunLoop *)runLoop forMode:(NSRunLoopMode)mode

NSProcessInfo.h

- 枚举类型NSProcessInfoThermalState在iOS11上可用
- 属性:thermalState 在iOS11上可用
- 通知:NSProcessInfoThermalStateDidChangeNotification 在iOS11上可用

NSProgress.h

- 新增方法:- (void)performAsCurrentWithPendingUnitCount:(int64_t)unitCount usingBlock:(void (NS_NOESCAPE ^)(void))work;
- 公开属性:@property (readonly, getter=isFinished) BOOL finished;
- 新增属性:@property (nullable, copy) NSNumber *estimatedTimeRemaining;
- 新增属性:@property (nullable, copy) NSNumber *throughput;
- 新增属性:@property (nullable, copy) NSProgressFileOperationKind fileOperationKind;
- 新增属性:@property (nullable, copy) NSURL *fileURL;
- 新增属性:@property (nullable, copy) NSNumber *fileTotalCount;
- 新增属性:@property (nullable, copy) NSNumber *fileCompletedCount;

NSTextCheckingResult.h

- 新增方法:- (NSRange)rangeWithName:(NSString *)name;

NSUnit.h

- 标记方法不可用:- (instancetype)init NS_UNAVAILABLE;
- 标记方法不可用:+ (instancetype)new NS_UNAVAILABLE;

NSURL.h

- 新增常量:NSURLVolumeSupportsImmutableFilesKey
- 新增常量:NSURLVolumeSupportsAccessPermissionsKey
- 新增常量:NSURLVolumeAvailableCapacityForImportantUsageKey
- 新增常量:NSURLVolumeAvailableCapacityForOpportunisticUsageKey
- 公开iOS10常量:NSURLUbiquitousItemIsSharedKey
- 公开iOS10常量:NSURLUbiquitousSharedItemCurrentUserRoleKey
- 公开iOS10常量:NSURLUbiquitousSharedItemCurrentUserPermissionsKey
- 公开iOS10常量:NSURLUbiquitousSharedItemOwnerNameComponentsKey
- 公开iOS10常量:NSURLUbiquitousSharedItemMostRecentEditorNameComponentsKey
- 公开iOS10常量:NSURLUbiquitousSharedItemRoleOwner
- 公开iOS10常量:NSURLUbiquitousSharedItemRoleParticipant
- 公开iOS10常量:NSURLUbiquitousSharedItemPermissionsReadOnly
- 公开iOS10常量:NSURLUbiquitousSharedItemPermissionsReadWrite
- NSURL实现协议:NSItemProviderReading、NSItemProviderWriting
- NSURLComponents 新增属性:@property (nullable, copy) NSArray<NSURLQueryItem *> *percentEncodedQueryItems;

NSURLSession.h

- 类 NSURLSessionTask 实现协议:NSProgressReporting
- 类 NSURLSessionTask 新增属性:@property (readonly, strong) NSProgress *progress;
- 类 NSURLSessionTask 新增属性:@property (nullable, copy) NSDate *earliestBeginDate;
- 类 NSURLSessionTask 新增属性:@property int64_t countOfBytesClientExpectsToSend;
- 类 NSURLSessionTask 新增属性:@property int64_t countOfBytesClientExpectsToReceive;
- 新增枚举类型:NSURLSessionMultipathServiceType
- 类 NSURLSessionConfiguration 新增属性:@property BOOL waitsForConnectivity;
- 类 NSURLSessionConfiguration 新增属性:@property NSURLSessionMultipathServiceType multipathServiceType;
- 新增枚举类型:NSURLSessionDelayedRequestDisposition
- 协议 NSURLSessionTaskDelegate 新增方法:- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task
                    willBeginDelayedRequest:(NSURLRequest *)request
                          completionHandler:(void (^)(NSURLSessionDelayedRequestDisposition disposition, NSURLRequest * _Nullable newRequest))completionHandler;
- 协议 NSURLSessionTaskDelegate 新增方法:- (void)URLSession:(NSURLSession *)session taskIsWaitingForConnectivity:(NSURLSessionTask *)task;

NSUserActivity.h

- 新增属性:@property (nullable, copy) NSURL *referrerURL;

NSValue.h

- 新增方法:- (void)getValue:(void *)value size:(NSUInteger)size;
- 废弃方法:- (void)getValue:(void *)value;

NSXPCConnection.h

- 公开类 NSXPCConnection、NSXPCListener、NSXPCInterface、NSXPCListenerEndpoint
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容

  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,355评论 0 6
  • //需要AFN //.h //AFNetworking + (void)post:(NSString *)url ...
    CHADHEA阅读 744评论 0 0
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,626评论 2 7
  • 柳絮飘飞的季节 心随风动; 追梦途中 不求朝朝暮暮 但愿心念相互 —13年毕业寄语 赠一人
    丨拽拽阅读 376评论 0 1
  • 昨天下午进电梯 一抬头看见一个大美女 大眼睛 皮肤白静 黑色及腰长发 发稍微卷 一袭粉色蕾丝长连衣裙 配双小白鞋 ...
    源体阅读 345评论 0 0