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

简介:   首先感谢网易公开课和SwiftV课堂的朋友们辛苦翻译,这个系列是我学习斯坦福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:




目录
相关文章
|
前端开发 API
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记4 MVC enum Tuple Dictionary
 回顾一下我们上一话中的代码: @IBAction func operate(sender: UIButton) { let operation = sender.
772 0
|
前端开发 iOS开发
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记3 Xcode、Auto Layout及MVC
   继续上一话中的计算器Demo,上一话讲到类必须被初始化,类中的属性也必须被初始化,所以你不能只声明而不给它一个处置,那么问题来了,我们从storyboard中拖拽的@IBOutlet为什么只有声明而不需要初始化呢,这是因为它的类型依旧是一个optional,在你初始化之前已经被赋值为nil了,这也就是为什么你不需要再初始化它的原因。
845 0
|
2月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
106 3
|
4月前
|
存储 iOS开发
iOS 开发,如何进行应用的本地化(Localization)?
iOS 开发,如何进行应用的本地化(Localization)?
123 2
|
4月前
|
存储 数据建模 数据库
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
IOS开发数据存储:什么是 UserDefaults?有哪些替代方案?
42 0
|
4月前
|
安全 编译器 Swift
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
IOS开发基础知识: 对比 Swift 和 Objective-C 的优缺点。
106 2
|
2月前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
36 3
|
11天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
11天前
|
存储 Swift iOS开发
使用Swift开发一个简单的iOS应用的详细步骤。
使用Swift开发iOS应用的步骤包括:创建Xcode项目,设计界面(Storyboard或代码),定义数据模型,实现业务逻辑,连接界面和逻辑,处理数据存储(如Core Data),添加网络请求(必要时),调试与测试,根据测试结果优化改进,最后提交至App Store或其它平台发布。
31 0
|
11天前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 与 UIKit:构建 iOS 应用界面
【4月更文挑战第30天】本文探讨了Swift和UIKit在构建iOS应用界面的关键技术和实践方法。Swift的简洁语法、类型安全和高效编程模型,加上与UIKit的紧密集成,使开发者能便捷地创建用户界面。UIKit提供视图、控制器、布局、动画和事件处理等功能,支持灵活的界面设计。实践中,遵循设计原则,合理组织视图层次,运用布局和动画,以及实现响应式设计,能提升界面质量和用户体验。文章通过登录、列表和详情界面的实际案例展示了Swift与UIKit的结合应用。