![](https://img.haomeiwen.com/i1904340/1673dbdfdf5fb11b.png)
nonnull用法, 如果写在外面用__nonnull
![](https://img.haomeiwen.com/i1904340/a5119dbf5f30a1a3.png)
nullable用法, 这个关键字是给开发人员看的, 说明这个可以为nill, 下一步你要注意了
![](https://img.haomeiwen.com/i1904340/8022dededa18db42.png)
null_resettable用法, setter可以为null, getter咋办啊? 对, 得重写setter方法对nill做处理. 例如: 控制器的View就是有这个属性, 这也是提醒开发者, 这个View可以被你清空, 但是下次一调用, 会再一次帮你创建一个有值View
![](https://img.haomeiwen.com/i1904340/f43d9499149c0e65.png)
这么使用也是不错的, 提示说明这个参数不能为nill
![](https://img.haomeiwen.com/i1904340/b08bc6f9894934f5.png)
NS_ASSUME_NONNULL_BEGIN \ NS_ASSUME_NONNULL_END之间代表全部默认是nonnull属性, set和get方法全不能为nil, UILabel头文件全是这么定义的
以上属性错误写法
![](https://img.haomeiwen.com/i1904340/58e3e8971ed5b313.png)
以上的属性指针对对象类型, 对整型不起作用
![](https://img.haomeiwen.com/i1904340/53ec01ed8e811a34.png)
这个有利于点语法使用
![](https://img.haomeiwen.com/i1904340/967b2223e312bf54.png)
尖括号里面名字随便写, 可以参考NSMutableDictionary这个类, 这个类里面苹果也定义了泛型
![](https://img.haomeiwen.com/i1904340/4e3613b2a494af94.png)
想访问GXCar这个类的里面一层内容, 前提是要初始化这个类.
![](https://img.haomeiwen.com/i1904340/399acc0b2c3e5bc5.png)
协变性,小变大. 逆变性, 大变小
![](https://img.haomeiwen.com/i1904340/e2c526022da6c003.png)
xcode7中修改了tableview方法的返回值, kindof是像的意思, 说明可以是自己, 也可以是自己的子类, 这样, 如果子类接受的时候就不用强转xxxx * db = (xxxx *)xxxxx
-
控制状态栏, 经过测试ios 9以后如果加topwindow也没关系
![](https://img.haomeiwen.com/i1904340/81006a41a2c28ab5.png)
View controller-based status bar appearance设置为NO, status统一管理, 每个界面都一样, 只能用[UIApplication sharedApplication].statusBarHidden = ;来设置, 如果设置为YES, [UIApplication sharedApplication].statusBarHidden = ;不好使了, 但是, 可以调用控制器的- (BOOL)prefersStatusBarHidden方法来设置, 就是自己管理自己的status状态栏. 系统默认是YES, 想统一就加这条key = NO
![](https://img.haomeiwen.com/i1904340/5a9dacece5b15633.png)
Status bar is initially hidden这个key是设置启动页有没有状态栏的. YES就是隐藏, NO不隐藏. 它就干这个事! 如果这个设置为YES隐藏, 上一个key设置为统一管理的, 那结果就统一都隐藏了, 解决办法在-didFinishLaunchingwithOptions设置一下
- 在viewController中管理状态栏
iOS9开始的新特性
- nonnull__nonnull
- nullable__nonnullable
- null_resettable
- NS_ASSUME_NONNULL_BEGIN \ NS_ASSUME_NONNULL_END
- 泛型__contravariant__covariant
- __kindof
- UIWindow
- Storyboard Reference
- UIStackView
- Search API
- 3D touch
新技术的了解渠道
- WWDC开发者大会视频
- 官方文档
- General -> Guides -> iOS x.x API Diffs
程序员的学习
iOS技术的学习
- 官当文档
- Sample Code(示例代码)
- Guides(指南)
- Reference(API参考)
- 博客
- 微博
- 微信公众号
- iOS开发(iosDevTips)
- iOS开发(iOSDevTip)
- iOS技术分享(iosinfo)
- 猿圈(CodePush)
- 其他
- 多写技术博客(简书\个人博客站点)
- 参加一些技术分享活动(北京\上海\广州\杭州)
- 有自己的技术圈子
非iOS技术的学习
数据结构与算法(比如加密算法等等)
HTML5
JavaScript
- Java(Android\JavaEE)
- C++
非技术的学习
- 管理\心理学\幸福\创业\历史
- 网易公开课
- 名人讲座\名人访谈
快速上手公司的旧项目
网友评论