Swift - 顶部弹出框封装
抽空把项目里的顶部弹出框封装了一下。
被光放弃的人
看科幻小说常常会感到一种作为人类的自卑感,对于宇宙来说,我们只是其中数以亿计星球中的一个,即使拥有灿烂的文化和恢弘的历史,也一粒尘埃反射出的微弱光芒。
而作为个体,虽然每个人都有自己引以为傲的事情,经历过的人和事、在事件中的感受,我们也因为这些而变得与众不同。然而目光宇宙,时间、空间,都能比量出我们的不值一提。甚至可能只是一场灾难,我们日常曾以为很深刻的痛苦也会立马失去他原来的分量。
OC - 多代理的实现
Swift - ?和!的学习
最近在优化一个项目的过程,过程中发现之前开发时由于刚接触 Swift
的原因,在 Swift
中的类里使用了很多 OC
的写法,比如字典数组对象会习惯性用 NSDictionary
、NSArray
来初始化,而不是用 [KeyType: ValueType]()
或是 [SomeType]()
这种类型来实例化变量。虽然在使用上没有什么问题,但看起来多少有点。。。不优雅。
当我把大部分类型都修改成 Swift
中的写法后(部分未修改是因为使用 String
类型来给文本做截取和富文本定义,实在不如 NSString
顺手,这种不顺手让我不由想起 Stack Overflow 上看到的一个评论:I thougt i already getting along well with Swift.)发现,原来一些变量是否为空的判断中,使用 Swift
里的 optional
类型会方便很多。
比如解析一个 json 数据,如果层级多而且里面每个元素都是不确定的,那么可能就需要每个层级都判一次空。而如果使用 ? 来设置当前对象为可选值,只需要在最后一层实际使用到对象值时,判一次空就 OK 了。
对于 ? 和 ! 的区别和总结,网上有很多文章,在这里就不重复造轮子了。下面就对这个 optional
的自己两个疑问做个记录。