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(权限)等等类似的部分。它靠近底层硬件,保证其正常工作。

CS193p学习笔记(一)_第1张图片
Paste_Image.png

2、Core Services层

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

CS193p学习笔记(一)_第2张图片
Paste_Image.png

3、Media层

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

CS193p学习笔记(一)_第3张图片
Paste_Image.png

4、Cocoa Touch层

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

CS193p学习笔记(一)_第4张图片
Paste_Image.png

五、开发平台控件

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

CS193p学习笔记(一)_第5张图片
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的值

你可能感兴趣的:(CS193p学习笔记(一))