我们在上课之前,一起来回顾一下以前曾提过的“SoC”的概念,我们说这个叫做“Separation of Concerns”,我把它翻译为责任分离——即不同的部分专注于自己的那一部分。或者说一个对象完成一个目标。
这样做的目标既让代码更加模块化易于维护,也让系统运行效率更高。所以说,我们要让对象之间的通信变得更加规范才行。
数据隐藏
你去看看你在写代码时候用到的那些框架,哪个给你直接展示了[……]
我们在上课之前,一起来回顾一下以前曾提过的“SoC”的概念,我们说这个叫做“Separation of Concerns”,我把它翻译为责任分离——即不同的部分专注于自己的那一部分。或者说一个对象完成一个目标。
这样做的目标既让代码更加模块化易于维护,也让系统运行效率更高。所以说,我们要让对象之间的通信变得更加规范才行。
你去看看你在写代码时候用到的那些框架,哪个给你直接展示了[……]
我们使用 var 来声明一个变量,就好像从柜子里拿出了一个试管放在了实验台上;
我们给变量规定了一个类型,就好像在试管上贴上了标签;
那么放入的试剂就必须是标签上标记了的——否则可能导致中毒或者爆炸。
同样的,如果我们试图给一个储存器放入一个错误的数据类型,那么编译器就会报错——没错总有办法能够骗过编译器——反正我不会教你这个方法,那样就会导致程序崩溃啦。[……]
上一节课我们第一次领略了 OOP 的风采,于模棱两可的类和对象究竟是什么东西呢?这节课我们用一个简单的小栗子来向你介绍。
我们说类和对象的关系是设计图和产品的关系,就拿我们的房子来说,一栋楼肯定会有对应的设计图,但设计图绝不会只能对应一栋楼,至少一个小区肯定会用一套设计图不是吗?我们的“类”就是这个“设计图”。我们用这个设计图设计了对象的属性、功能等等的一系列内容,然后通过实例化来产[……]
考虑到有的同学没有 iPhone,但学习 Swift 语言大家至少都会有 OS X 操作系统,我们的代码演示都会在 OS X 下完成,使用 CLI 界面。这样虽然又显得古老了,但相信我去掉 GUI 会让你省心不少——因为那又是另一回事了。
我们来看看,用 OOP 进行开发到底会是个什么样子?
考虑到我们现在并没有很高的开发水平,那么我们把所有的功能实[……]
我们都知道在 Java 中声明一个抽象的类或者方法要使用 abstract 关键字,可是很遗憾熟悉的东西总会逝去,在 Swift 中已经没有了这个标签。
那么,我们究竟要如何来声明一个抽象的类呢?
这一点倒是让人很熟悉对吧?吧构造器私有了那这个类肯定就不能被初始化了,自然就不能创建对象实例……不过……哪有那么多但是,反正能用就行了!
[crayon-6a261[……]
Swift 提供了一种高性能的、兼容 Unicode 的字符串实现,这也成为了它自身标准库的一部分。在 Swift 2 中, String 类型不再遵守 CollectionType 协议,那时 String 是 [crayon-6a261c874[……]
早在去年,DT的概念就被提出来了,而我却一直不知。直到今天,才偶然了解到。赶紧google了以下,不仅扶额感叹:我已然跟不上潮流。
我们知道 IT 是 Information Technology 的简写;那么 DT 顾名思义,就是 Data Technology 的缩写了。
一想到将来国内计算机科学的课本上写的不再是“信息技术”而是“数据技术”,我就感到一阵毛骨悚然。
信息技术如今的代名词[……]
今天朋友推荐了一个有意思的页面,域名是这样的:
http://fuckingclosuresyntax.com
在 Swift 中,所有的函数都是闭包,标准的函数只不过是有名字带参数的最完整的闭包。
好了,以下是正文
在学习 Swift 编程语言的时候可能不会遇到这个东西,但是随着学习的深入,在你阅读他人的代码的时候,很可能你就会遇到这种NS类型,这时候你肯定会好奇,类似 String 和 NSString 到底哪里不同?似乎它们是完全一样的呀!而且,通过 as 这个关键字,我们也可以轻松的让数据在它们两者之间转换。
NeXT 为了写这[……]
我的英语水平并不高,成绩也不好。我对英语的学习兴趣也不是很大,语法可能至今也比不过初中生。
但我还是在全国大学生英语竞赛得了三等奖、能够不太流畅的阅读一些英文著作、能够满头大汗的翻译英文的文章、能够流畅的阅读各种英文软件的操作手册、能够无聊到逛一逛英文的论坛和网站、能够在没有字幕的情况下仍旧看懂一部英文的电影或者美剧。
我深知这样的水平不值得炫耀个什么,我至今英语也没有过了四级,我写英[……]
一直以来,在 Parallels Desktop 中安装 Kali Linux 都是无法安装 Parallels Tools 的,这是一件让人很痛苦的事情,当你尝试安装 Parallels Tools 的时候,就会遇到要么缺少 make ,要么缺少 kernel sources,前者实际已经安装,后者始终无解。
如今,我终于找到了能够在 Kali Linux 上安装 Par[……]
WordPress可能是用的最多的最大的博客系统了,如今的它牛逼到连CMS也能客串的程度,不知多少企业网站用阉割过的WP来做门面……
WP的评论系统确实有些那啥,所以,就有了各路第三方社会化评论系统的存在。我曾经也一度使用过它们,但最终还是放弃了,为此我写了一篇文章来吐槽:《WordPress常用社会化评论插件简评》
这次有朋友对我说“你博客评论的人这么少,可能是WP自带评论太不好使了,你[……]