ios 9 中 程序员需要注意的地方
2015-09-22 20:44
651 查看
一、iOS9中被移除的API或者枚举
二、iOS9中一些方法的返回类型从id类型变成了具体的instantType,所以调用方法时需要注意返回类型。比如:
- (id)objectAtIndexedSubscript:(NSUInteger)idx
To
- (ObjectType _Nonnull)objectAtIndexedSubscript:(NSUInteger)idx
返回类型被修改为必须返回不能为空的ObjectType。
三、iOS9 中增加了对泛型的支持,指定了容器内的元素类型,所以如果容器内含有其他类型的元素,可能会报错(具体没试验,不知道会不会),比如
第一个参数就修改为了泛型,NSArray中指定元素类型为NSEntityDescription。
四、iOS9中很多参数或者属性都增加了nullable 、nonnull关键字分别表示,该参数或属性“可以为空”和“不能为空”。
五、canOpenURL:和openURL:这两个API在iOS9中受到影响,当用xcode7打包时需要在plist文件中配置参数。(LSApplicationQueriesSchemes)
六、关于HTTP改为HTTPS的影响。(已改)
七、iOS 9中,UIPickerView和UIDatePicker的宽在所有设备上的默认宽度设为320,需要注意
CoreImage CIImage.h : autoAdjustmentFilters —removed Fondation NSKeyedArchiver.h : Removed -[NSKeyedArchiver setRequiresSecureCoding:] Removed -[NSKeyedUnarchiver setRequiresSecureCoding:] Fondation NSURLSession.h : Removed -[NSURLSession dataTaskWithHTTPGetRequest:] Removed -[NSURLSession dataTaskWithHTTPGetRequest:completionHandler:] Removed -NSURLSession(NSURLSessionDeprecated) UIKit NSAttributedString.h : Removed NSMutableAttributedString(NSMutableAttributedStringKitAdditions) UIKit UITabBarItem.h : Removed -[UITabBarItem setTitlePositionAdjustment:] UIKit UIView.h : Removed -[UIView setTranslatesAutoresizingMaskIntoConstraints:] CBCentralManager : Removed retrievePeripherals: Removed retrieveConnectedPeripherals
二、iOS9中一些方法的返回类型从id类型变成了具体的instantType,所以调用方法时需要注意返回类型。比如:
- (id)objectAtIndexedSubscript:(NSUInteger)idx
To
- (ObjectType _Nonnull)objectAtIndexedSubscript:(NSUInteger)idx
返回类型被修改为必须返回不能为空的ObjectType。
三、iOS9 中增加了对泛型的支持,指定了容器内的元素类型,所以如果容器内含有其他类型的元素,可能会报错(具体没试验,不知道会不会),比如
- (void)setEntities:(NSArray *)entities forConfiguration:(NSString *)configuration To - (void)setEntities:(NSArray<NSEntityDescription *> * _Nonnull)entities forConfiguration:(NSString * _Nonnull)configuration
第一个参数就修改为了泛型,NSArray中指定元素类型为NSEntityDescription。
四、iOS9中很多参数或者属性都增加了nullable 、nonnull关键字分别表示,该参数或属性“可以为空”和“不能为空”。
五、canOpenURL:和openURL:这两个API在iOS9中受到影响,当用xcode7打包时需要在plist文件中配置参数。(LSApplicationQueriesSchemes)
六、关于HTTP改为HTTPS的影响。(已改)
七、iOS 9中,UIPickerView和UIDatePicker的宽在所有设备上的默认宽度设为320,需要注意
相关文章推荐
- 面试心得与总结
- 黑马程序员——基础知识——数据类型、运算符
- 黑马程序员——基础知识——概述
- iOS求职之OC面试题
- OC常见面试题四
- OC常见面试题三
- 程序员必读书单
- 面试心得与总结---BAT、网易、蘑菇街
- Java面试题和解答(一)
- Java线程面试题 Top 50
- 黑马程序员——继承、抽象、接口
- 读《程序员修炼之道-从小工到专家》有感
- 面试心得与总结---BAT、网易、蘑菇街
- 程序员应该遵守的编程原则
- 黑马程序员————正则复习
- 关于程序员成长的一点思考【转】
- 黑马程序员——Java语言基础:程序流程控制、函数、数组
- 黑马程序员——Java语言基础:常量、变量、运算符
- 黑马程序员——Java概述
- 蜻蜓fm面试