【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记1 IOS8概述

首先感谢网易公开课和SwiftV课堂的朋友们辛苦翻译,这个系列是我学习斯坦福IOS8公开课的个人心得体会和笔记,希望能给大家带来启发。

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

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

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

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

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

进行IOS8的开发,我们需要使用Xcode 6,这是一个非常强大的代码编辑器。语言方面我们有两种语言可供选择,一是Objective - c,这门语言已经使用了25-30年,非常的成熟,但是它已经25-30岁了!去年夏天苹果公司发布了新语言Swift,你可以用它开发一切IOS的应用,为了它的诞生苹果公司做了很多努力,Swift吸收了很多已经存在的编程语言的优点。它语法简介、类型安全并且还有类型推断以及大量特性。

此外我们需要学习一些框架的知识,UIKit,这是页面开发的主要框架。Foundation,会在Core Service层经常提到。Core Motion框架用于处理设备移动、旋转、陀螺等。coredata框架用于面向对象操作。

这些内容会在之后讲到,首先要讲的依旧是MVC,IOS从一开始就使用的是MVC。接下来来关注一下今天的Demo:

时间: 2024-10-06 00:40:06

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记1 IOS8概述的相关文章

斯坦福机器学习公开课学习笔记(1)—机器学习的动机与应用

(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 斯坦福机器学习公开课差不多是网上能找到的最好的机器学习入门课程了.现在一共有20节课放到网络上,博主是在网易公开课学的,那里的视频有中文字幕然后课件也很全. (地址:http://v.163.com/special/opencourse/machinelearning.html) 主讲师Andrew Ng(已经被百度诏安了)是华裔科学家,看他的课特别有亲切感.感觉他们的课跟国内老师的课区别还是挺大的

斯坦福iOS7公开课10笔记及演示Demo

这一节主要介绍了多线程中的串行队列以及滚动视图UIScrollView. 一 .多线程 这一节只是简单介绍了多线程的串行队列,即把任务加入线程队列后按顺序逐步执行. (1)目前iOS多线程提供的方法主要是GCD和NSOperation,前者是C语言级别的,后者是经过封装,更具有面向对象特性的API. (2)UI交互操作都是在主线程进行,所以为了保证交互过程的流程舒适,类似于下载等耗时操作就需要主线程外执行,否则将出现用户无法对手机进行操作的场景. 这时通过多线程,就可以使下载图片等耗时操作单独进

斯坦福iOS7公开课4-6笔记及演示Demo

1.变量类型别滥用id,如果不仔细容易在程序执行时引发错误,因为在编译阶段编译器只是检测变量对象所属类型,尤其是类型为id时代表任何类型都可以通过检查,但不会检测变量对象调用的方法,这样当对象所属类不包含所写的调用方法时,编译通过,但在程序运行时才会报错. 2.简单介绍了框架自带的集合.字体等. 3.通过使用NSAttributedString可以让屏幕显示的字体样式更丰富,设置各种样式等,详细参见附件的演示Demo:http://files.cnblogs.com/colinhou/Attri

斯坦福iOS7公开课7-9笔记及演示Demo

这一部分主要介绍了iOS的绘图.手势.协议.block.力学特效动画(包括重力.碰撞.吸附等)以及自动布局的内容.    一.绘图.手势 (1)调用一个自定义的UIView时,可以使用awakeFromNib方法做一些初始化工作. (2)iOS中绘图需要了解的常用测量单位: CGFloat:浮点值,与float一样: CGPoint.CGSize.CGRect是三个结构体分别代表游XY坐标描述的店.宽度高度描述的大小值以及由原点坐标.宽度高度描述的矩形,度量单位都是CGFloat. (3)自定义

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记2 Xcode、Auto Layout及MVC

原文链接不知道在哪, 接着上一话来讲,上一话中讲到了MVC,那么MVC在IOS8开发中是如何应用的呢?Paul Hegarty老师给我们展示了一个计算器的Demo,首先新建一个工程,老师把AppDelegate.swift.LaunchScreen.xib和Images.xcassests文件放到了supporting Files文件夹中,那么剩下的两个文件ViewController.swift就是MVC中的C(控制器),Main.storyboard就是MVC中的V(视图). 在Main.s

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记13 Drawing绘制、UIColor颜色、Fonts字体

上一话介绍了视图绘制的一些基本原理,这一话继续展开.UIBezierPath可以绘制许多有趣的图形. 使用不同的构造器,比如roundedRect就是四个角被磨圆了的矩形,或者干脆是椭圆和圆.你甚至可以剪切任意的path,剪切使用addClip方法,在剪切了之后你可以针对剪切的这部分进行操作,例如你正在绘制一个卡片,这个卡片有小小的圆角效果,你可以把卡片绘制在一个矩形里面,然后把它剪切到一个小一点的圆角矩阵里,这样四角就修圆了.这是一个获得圆角卡片最简单的方法. 你也可以进行碰撞检测,它基于绕圈

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记37 TableView Delegate

上一话介绍了tableView的datasource,本话来介绍另一个重要的部分delegate. 当我们点击一个cell的时候,如何跳转到另外一个mvc中呢? 像增加其他segue一样,点击cell按住control键,右键连线到另一个mvc上,然后松手,选择需要的segue类型. 如果你的cell上还有其他按钮,比如detail disclosure,你也可以选择它的segue: 然后设置你的segue: 接着去prepareForSegue中设置这个segue: 每一个case对应不同的i

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记3 Xcode、Auto Layout及MVC

继续上一话中的计算器Demo.上一话讲到类必须被初始化.类中的属性也必须被初始化,所以你不能仅仅声明而不给它一个处置,那么问题来了,我们从storyboard中拖拽的@IBOutlet为什么仅仅有声明而不须要初始化呢,这是由于它的类型依然是一个optional,在你初始化之前已经被赋值为nil了,这也就是为什么你不须要再初始化它的原因. @IBOutlet weak var display: UILabel! 然而既然它是一个optional类型的,那为什么UILabel后面是"!"而

【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记39 Alert&ActionSheet

Alert和ActionSheet是IOS中弹出消息的两个工具. 首先它们都是Modal的方式展示的. Alert用来向用户发起询问,可以有一个(比如取消)或两个选项(比如确定和取消),也可以附带一个文本框(比如要求用户输入密码) Action Sheet从屏幕底部滑出,提供一些分支的选项,选项的数量可以大于两个. 对比如图: Action Sheet和Alert都可以使用UIAlertController来创建,比如创建一个Action Sheet,在构造器中制定它的title和简介,注意St