好久没有写笔记了。这二十天好忙啊,项目要发布,没有太多的时间看iOS了。
现在已经把Stanford的教程学完了,但是感觉很尴尬。其实看代码的时候,感觉没一个Demo都没有什么东西,但是看Demo看时似是而非的看不懂。视频里面,教授用每个API都是信手拈来,但是自己去写,课后看代码的时候,就不是那么回事了。不同的地方改用什么对象,UILable还是UIButton?这个对象都有什么API?这些其实都不知道。而要成为熟练的iOS开发者,这些其实是非常非常重要的。
翻了之前的几遍笔记主要是写了API的使用,其实没什么用,因为这些东西不用还是忘,关键是常用。书很多,不会的时候翻翻书上的Demo,光知道贴到Blog上对我的技术提升还是没有什么帮助。
去掉API之外,具体主要是iOS的设计的特点以及Swift的使用特点,稍微总结罗列几条:
- 属性观察器willset & didset(lazy属性不行,如果计算属性不是重载的,用属性观察器也没有意义,因为有setter),计算属性的setter & getter,只读计算属性没有settter。
- 对于在viewDidLoad这些函数中调用的函数,属性观察器里面调用的函数,一定要记得被调用函数里面的变量是不是已经初始化好了,如果没有初始化,那就crash了。
- extend一个特定的类A,并且把这个类设为B中private的,这样只有B中访问类A可以放的时候,具有extended的属性
- 这种初始化方式要好好利用哦。()是让闭包立即执行的,而不是把闭包赋值给animator
-
lazy var animator: UIDynamicAnimator = { let lazilyCreatedDynamicAnimator = UIDynamicAnimator(referenceView: self.gameView) lazilyCreatedDynamicAnimator.delegate = self return lazilyCreatedDynamicAnimator }()
第11节到第17节的主要内容有:
- Unwind Segues (这个其实没有Demo,也没有详细讲。现在我还是糊里糊涂的,以后要重点补上这个。
- Alert,就是View中间输入密码啊,提示确认取消啊,或者从View底部弹出(iPad是在左上角弹出,看Bar Button Item的设置)。这个很简单,例化,设置,然后加到View,然后就行了。
- Timers,就是时间控制。值得注意的就是NSTimer被定义后,会自动执行的,你就不要想着调用函数什么的了。
- Animations:就是动画。这是个大坑啊,教授列了四种动画,最后三种不会讲。
- Animating UIView Properties
- Animation of View Controller transitions
- Core Animation
- Dynamic Animation
- Dynamic Animation:
- Create a UIDynamicAnimator
- Add UIDynamicBehaviors to it
- Add UIDynamicItems (Usually UIViews) to the UIDynamicBehaviors
- Application lifecycle, 主要就是一张有限状态机
- Core Motation
- Core location and Mapkit的使用
- Camera的使用,数据存储,Embed segue
- 国际化
- 怎么在设置里面更改App的行为
- Notification
时间: 2024-08-05 19:32:15