Swift

苹果新出的用于代替OC的高级编程语言!

不是你想的那样:一个攻击网站的程序

这节课我们来试试开发一个简单的命令行小游戏,来完整的体验一次所谓的“开发过程”。

游戏设定是这样的:

这是一种棋盘类游戏,我们来猜测敌人战舰的位置,只要命中数发就可以击沉它们。

我们给这些战舰贴点标签……比如各种网站吧?所以,这就成了一个攻击网站的程序……捂脸。

游戏目标

我们要玩家以[……]

点击跳转以继续阅读

计算属性与封装

我们在上课之前,一起来回顾一下以前曾提过的“SoC”的概念,我们说这个叫做“Separation of Concerns”,我把它翻译为责任分离——即不同的部分专注于自己的那一部分。或者说一个对象完成一个目标。

这样做的目标既让代码更加模块化易于维护,也让系统运行效率更高。所以说,我们要让对象[……]

点击跳转以继续阅读

储存器的值与引用

声明一个变量

我们使用 var 来声明一个变量,就好像从柜子里拿出了一个试管放在了实验台上;

我们给变量规定了一个类型,就好像在试管上贴上了标签;

那么放入的试剂就必须是标签上标记了的——否则可能导致中毒或者爆炸。

同样的,如果我们试图给一个储存器放入一个错误的数据类型,那么编译[……]

点击跳转以继续阅读

猜数字游戏:类的对象的区别

上一节课我们第一次领略了 OOP 的风采,于模棱两可的类和对象究竟是什么东西呢?这节课我们用一个简单的小栗子来向你介绍。

尝试解释

我们说类和对象的关系是设计图和产品的关系,就拿我们的房子来说,一栋楼肯定会有对应的设计图,但设计图绝不会只能对应一栋楼,至少一个小区肯定会用一套设计图不是吗?我们的[……]

点击跳转以继续阅读

我们的实验环境以及初见 OOP

考虑到有的同学没有 iPhone,但学习 Swift 语言大家至少都会有 OS X 操作系统,我们的代码演示都会在 OS X 下完成,使用 CLI 界面。这样虽然又显得古老了,但相信我去掉 GUI 会让你省心不少——因为那又是另一回事了。

那么现在,让我们来和 OOP 问个好

我们来看看,用 O[……]

点击跳转以继续阅读

如何在 Swift 2.0 中声明一个 抽象类 ?

我们都知道在 Java 中声明一个抽象的类或者方法要使用 abstract 关键字,可是很遗憾熟悉的东西总会逝去,在 Swift 中已经没有了这个标签。

那么,我们究竟要如何来声明一个抽象的类呢?

私有构造器(初始化器)法

这一点倒是让人很熟悉对吧?吧构造器私有了那这个类肯定就不能被初始化[……]

点击跳转以继续阅读

编程方法学课程大纲

哈哈!又要和大家见面了,这次十奶给大家带来了全新的编程方法学课程

这是之前编程方法学的课程大纲,很庆幸当时做了这么个决定把大纲扔在了这里:)虽然课程结束了,但单独阅读这个大纲也是一个不错的选择,回头我会再此基础上更新它,以适应新的直播版编程方法学~

前言

这次的课程我们Karel[……]

点击跳转以继续阅读

介绍一下 Karel 这个机器人

早在20世纪70年代,斯坦福大学毕业生 Rich Pattis 觉得如果能让编程初学者在一个相对复杂的编程语言来说,比较简单的环境下学习,将有助于编程语言的教学。这个简单的环境由各种编程语言的特征抽象化而来。所以他就设计了这么一个程序环境,让学生教一个机器人来解决简单的问题。这个机器人就是Karel[……]

点击跳转以继续阅读

NSString 和 String 究竟 有什么区别 ?

在学习 Swift 编程语言的时候可能不会遇到这个东西,但是随着学习的深入,在你阅读他人的代码的时候,很可能你就会遇到这种NS类型,这时候你肯定会好奇,类似 StringNSString 到底哪里不同?似乎它们是完全一样的呀!而且,通过 as 这个关键字,我们也可以轻松的让数据在它们两者之间转[……]

点击跳转以继续阅读

转载:多范式 编程语言-以 Swift 为例

原文来自infoq,作者 郭麟

本文以Swift语言为例,介绍了什么是多范式编程语言;同时也介绍了当今比较流行的几种编程范式,值得一读。故收藏之,原文链接于此

Swift的编程范式

编程范式是程序语言背后的思想。代表了程序语言的设计者认为程序应该如何被构建和执行。常见的编程范式有:[……]

点击跳转以继续阅读

让 Xcode 也用上 Solarized Dark 颜色主题

貌似这个 Solarized 主题一直都很火,这是一套终端文字颜色配色方案,十分好看,有明暗两种,不过,据我自己猜测,应该暗色的多一些吧……

点击下图跳至官网。⬇️

因为终端普遍还是黑色一点的好看😜

总之,这套颜色主题为很多终端都提供了配置文件可以直接导入,[……]

点击跳转以继续阅读

浅谈 MVC 以及软件开发当中的 SoC

不论你是在学习何种语言,基本上都会遇到一个叫做 MVC 的概念,它是一个程序开发的模式,以“分离展现”作为核心,在层级框架当中有着巨大的影响力。

MVC 是一个简写,三个大写字母分别对应着 Model ViewController

在如今我们创建的应用软件当中,很多情况下又要使[……]

点击跳转以继续阅读