CS193p学习笔记(一)

第1讲 Logistics, iOS 8 Overview

首先感谢网易公开课和SwiftV课堂的朋友们辛苦翻译,以下是本人的心得体会和笔记。本人学习的是CS193p的iOS8课程,大家有兴趣可以到itunes U中下载学习,实践在iOS9下。

当前学习环境:

  • Xcode 7.2(7C68)
  • iOS 9.2
  • OS X 10.11.2
  • Swift 2.1

一、本讲学习内容

1、这们课程讲的是什么?

为什么我们会在这呢?我们要学习iOS开发呀。呵呵

2、学习这门课的前提

你必须有很强的面向对象编程的经验。

3、iOS概述

讲解iOS上有什么。

4、演示

给大家讲解一个有数千行代码的演示程序(有关计算器的)

二、我们能从这门课程中学习什么?

1、如何编写一个"酷"的程序

  • 很容易编写非常复杂的应用程序
  • 程序在你的手机或背包里
  • 通过AppStore应用商店很容易分发你的程序
  • 精彩的开发社区

2、真正的真实的面向对象编程

  • Cocoa Touch的核心是100%的面向对象
  • MVC 设计模式
  • 在开发平台中应用好多的计算机科学概念
    Databases,Graphics,Multimedia,Animation,Networking 等
  • 已经有好多的学生通过AppStore卖出了App

三、预备知识

1、前期课程

  • 面向对象编程经验(必需)
  • CS106A&B(或X)&CS107或CS108或CS110(需要)
    或与Standford课程相近的课程

2、你需要知道下面一些专题:

  • Classic
  • Instance
  • Message
  • Instance
  • Superclass/Subclass
    假如你对以上这些专题都很了解,那么这门课程对你来说并不是太难。

3、程序体验

  • 这是一门偏难的CS课程
  • 假如你以前没有过任何编程经验的话,那这门课程对你来说是一个不小的难题。

四、在iOS内部有什么?

首先我们要知道IOS系统中的结构情况,从贴近硬件的底层到贴近用户的顶层,分为四个层次:

1.Core OS层

Core OS层在最下层,很多人可能不知道IOS是一个基于UNIX的操作系统,它大量借鉴了Mac OS X 的内核部分。Mac OS X我们肯定不会陌生,命令行的使用很好的证明了它是一个基于UNIX的系统。IOS针对移动设备,对电池等硬件进行了系统的优化,但它仍可被看成是一个UNIX系统。这样在最底层Core OS层就包括了 Sockets(套接字)、permission(权限)等等类似的部分。它靠近底层硬件,保证其正常工作。

Paste_Image.png

2、Core Services层

面向对象层,在这一层中你可以使用大量的面向对象的技术,这层不包括UI,更多地是通过使用面向对象访问硬件或者网络。它是很大的一层,我们需要很多的时间来学习,因为需要这些原始组件来建立更高的层。

Paste_Image.png

3、Media层

第三层是媒体层,比如我们所熟悉的IPEG等静态图像、视频的拍摄和处理、不可思议的音频框架用于处理3D音效及游戏等等。

Paste_Image.png

4、Cocoa Touch层

我们会在Cocoa touch层上花费大量的时间,这一层包含了我们常用的一些控件,简单的譬如按钮、文本框等等,复杂的有浏览器和地图,你只需要拖拽到你的storeboard页面中就可以使用它们的强大功能。

Paste_Image.png

五、开发平台控件

在进行iOS开发时,我们需要使用Xcode,这是一个非常强大的代码编辑器。语言方面我们有两种语言可供选择,一是Objective-C,这门语言已经使用了2530年,非常的成熟,但是它已经2530岁了!去年夏天苹果公司发布了新语言Swift,你可以用它开发一切IOS的应用,为了它的诞生苹果公司做了很多努力,Swift吸收了很多已经存在的编程语言的优点。它语法简洁、类型安全并且还有类型推断以及大量特性。
此外我们需要学习一些框架的知识,UIKit,这是页面开发的主要框架。Foundation,会在Core Service层经常提到。Core Motion框架用于处理设备移动、旋转、陀螺等。Coredata框架用于面向对象操作。

Paste_Image.png

六、演示

1、Calculator

  • 课程很吸引人
  • 我们开始我们的Xcode 7和Swift编程
  • 花费两节课讲完这个演示

2、今天在这个演示中讲到的专题:

  • 在Xcode7中建立一个项目
  • 建立一个UI(使用Autolayout)
  • iOS模拟器
  • print(使用()来转变成String)
  • 在Swift中定义一个类
  • 用Swift代码来联结UI上的元素
  • 通过代码来访问iOS文档
  • Optional

3、计算器程序代码:

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

推荐阅读更多精彩内容