【iOS】Swift Diary
天气渐冷,我内心反而愈加炙热。
最近更是翘掉了很多不想上的课,虽然老师有善意地发过警告,但是我思考了相当长的一段时间,也纠结过,矛盾过,但是最终还是决定挂掉几门课。不管后不后悔,反正我就这样做下去了。
Swift
作为一个纯JS的新手,初始Swift时倍感亲切,然而这是一门正在发生剧烈革命的语言。截止到此时Swift已经更新到了2.0版本,其语法发生了很大的改动。网上的许多教程刚出来就过时了。
对于变量来说,Swift采用了伪动态类型
比如定义一个变量1
为什么说它是伪动态类型呢,因为它的动态类型一点都不好用,调用函数时还是要进行显式转换,它的隐性转换还有很大的发展空间,大概过几个版本希望它与JS一样好用。
Optional
Swift 有个类型叫做Optional,相当于赋予一个初始值nil,实质是一个元组(value, nil),在进行解绑(unwrapped)时如果没有值就返回nil
我最初被这些 叹号! 问号? 弄得头晕脑胀,方法随着版本的更替更是让这两兄弟跳来跳去;习惯了JS默认值写法
的我,对于Optional的默认值写法
感到非常的不适,首先valueOptional是一个Optional类型,进行unwrapped时如果没有value值,就赋予默认值,用于代替nil。
所以说这个Optional到底是干吗的嘛
方法也可以是Optional类型,这样创建一个类的时候就没用必要实现所有的方法了。就这样?
Storyborad or Code?
在写iOS时,遇到了这个问题,显然在这里就遇到了一个分水岭。我最初选择的是Storyboard,现在还是在用它。Storyboard的一个好处是减少了大量的代码量,所见即所得,缺点也很明显,所得仅所见,Storyboard用拖拽控件的方式添加对应的代码,然而对控件修改时还必须去找控件所在的代码位置进行对应的修改,否则经常出现空指针、野指针。
Code大法好,就是费时间。在理解Code的基础上使用Storyboard应该是最快的开发方案了。
End
争取寒假前完成以下几件事(flag
- 用Python爬几个网站
- 改好自己的JS游戏
- *学习Sketch和Pixelmator,学习切图
- 学好没翘的课