CS193笔记 第一讲 课程介绍

CS193 可能是最著名的iOS开发教程了。本系列作为Standford计算机系的课程,从2010年一开始就大受欢迎。在许多公开课网站都可以看到翻译后的版本。这个课程主要是讲解一些基本概念和UI设计,并不是一个iOS开发大全。比如关于游戏开发必备的SpriteKit,SceneKit和GameplayKit等内容就没有涉及。但仍不失为iOS入门学习的最好材料。学习这个课程至少要有面向对象编程的基础。

最新的一期讲座基于iOS 10、Xcode 8 和 Swift 3.0。如果看旧版的话,多少在最新的环境里会遇到些问题。相关的视频可以通过iTunes-U 下载观看,这版是有英文字幕的。想学的同学可以立刻开始,不要等中文字幕了。

本系列笔记是我自己观看这个教程的时候的所做的总结,可以帮助大家更好的掌握课程的内容。

本讲简介:iOS 10, Xcode 8 和 Swift 3 介绍。为了方便学生的理解,CS193教程里面的所有演示都会从头开始。本讲的demo是一个计算器。

这一讲的内容和2016年版几乎没有什么不同。只是所有的演示都是在最新的环境里进行的。

iOS的分层架构

从上至下iOS 可以划为四层。目前有个大致印象就可以了。下面是各层的一些重点模块

Cocoa Touch => Map Kit, Camera, Core Motion, Web View, Localization

Media => Audio Recording, Video Playback, Core Animation, Quartz(2D)

CoreService  => Networking, Threading, SQLite, File Access

Core OS => Kernel, Sockets, Security, File System, Power Management

除了最下面一层外,了解这些模块可以让大家对未来要学习什么有个大致的印象。:)

XCode

XCode是Apple提供的iOS/OSx开发一站式解决方案。经过这些年的发展变化,几乎所有开发所需的功能都已经被集成进来了。另外因为XCode Ghost事件的影响,从8.0开始第三方插件也都被禁止了。但一些流行的插件功能,如“Add Documentation”也被内置了。当然如果还想用第三方插件也是有办法的,但不建议大家去折腾了。

视频中,老师会带领大家浏览XCode中的布局结构。大家可以花些时间自己多试试,一定会有收获的。XCode可以自定义布局,详见菜单中的“New Behavior”。为自己常用的布局定一个一个快捷键,会非常方便。

在XCode中可以对文件进行分组,把相关的文件放到同一组里面。比如资源组,控制器组等等。但这种结构并不会体现到实际的文件系统中。

XCode 集成了对Git的支持。建议大家一开始就用Github或Gitlab来管理自己的代码。

Swift 3.0

讲座中并没有刻意地去介绍Swift 3.0和以前版本的异同。始终都是讲的最新版。

Swift 中函数的参数可以定义两个名字,一个外部用,一个内部用。如果不想被使用可以用 "_"。但只能用于第一个参数。关于Swift的语法,大家不必硬记,在实践中会逐步掌握。另外任何教程都可能会过时,要多利用XCode中的playground来学习验证。

类/结构中的属性有存储属性和计算属性(Computed Property)两种,后者不占用数据空间。

其它:

如果不涉及UI,代码中可以只导入 Foundation。UIKit 中包含Foundation。

"_" 可以在各种场合下替换变量/常量名,表示该变量/常量可以被忽略。

成员变量如果不是Optional类型,必须要有初值。否则需要提供构建函数(initializer)。

在视频中经常可以看到屏幕左下角显示当前按下的功能键。这个效果可以通过“Enable Sticky Keys"来实现。(在System Preference中搜索 Sticky)

本讲用到的快捷键:

⌘+Click        //查看定义,非常有用

⌃+I            //整理代码的缩进,非常常用

⌥+P         // π

⌘+B         // Build

⌘+R         // Run

⇧⌘H      // 相当于按下模拟器的Home键

⌘+1/2/3/4/5       //缩放模拟器屏幕大小

本讲的阅读作业:https://swift.org/documentation/

一点题外话。Paul Hegarty 并不是苹果公司的员工。但是和Jobs一起工作过!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,982评论 4 60
  • 今天是8月16日,是007第三次作业后的第二天,这次虽然按时完成了作业(上次作业雨迟到了),但是评论迟到了。之所以...
    宇践未来阅读 115评论 0 0
  • 雨水流,泪水流,流到长江君未留,从春流到秋。 岁悠悠,月悠悠,天地悠悠孤叶舟,海天无尽头。 雪漫漫,风漫漫,寒到心...
    在咫尺如天涯阅读 337评论 1 2
  • 首先,之前一点都不知道这个app是做什么的。大概,是他还没有点,某江有名吧。不过,既然我已经知道了。就说明离大家知...
    王天猪阅读 104评论 0 2
  • 个人比较喜欢咪蒙,今天特意买了咪蒙的《我喜欢这个功利的世界》再看。虽然,里面的文章大多都来自她之前的博客里面,并且...
    我有桃李伴海棠阅读 206评论 0 2