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
的自己两个疑问做个记录。
看了一本图说量子物理学史的书,《上帝的骰子》,书名来自于爱因斯坦的一句话:上帝不会掷骰子。去年也有一本书很火叫《量子物理史話:上帝掷骰子嗎?》,不说大家为什么都一窝蜂的抓着骰子不放,从这些现象我们可以看出,量子的不确定性的迷人魅力让许多人趋之如骛。
用了很久 GTD 工具,才知道它的全拼是 Getting Things done(把事情做好),而不是 Get to do(快去做)。虽然意思差不多,但是情绪上好像一个是在昂首挺胸向前迈进,另一个是无可奈何负重前行。看过关于很多关于时间管理的文章,每个作者侧重点和方向不同,都给我带来一定的收获。虽然在用心程度,耕耘深度都不如写文章的大佬们,但还是想写一下自己从接触到使用那么久以来的心得。
看到题目“社畜都爱 GTD”,可能有朋友就会跳出来这样反驳:我承认我是个社畜,但我不爱 GTD,我甚至不知道 GTD。或是这样反驳:我每天从八百平方米的卧室起来,在高大的落地窗前喝咖啡欣赏清晨的阳光,我不是个社畜,但我也爱 GTD 啊。虽然后面的杠法难度有点高,但这两个争议对于我的题目来说也确实存在,不过不去钻牛角尖,通过这两个争议我们可以延伸出两个问题: