课程大纲

编程基础概念

  • 面向对象编程概念
  • 什么是软件
  • 编程中有序与无序房间的概念
  • 为什么需要软件

为什么选择Apple和iOS

  • 为什么选择iOS
  • Apple的历史
  • iOS的历史
  • Apple的独特卖点
  • Apple的著名之处
  • 用户体验与用户界面

开发环境

  • 开发环境要求
  • Xcode和iOS SDK
  • Apple开发者注册
  • 应用被拒绝的原因
  • 人机界面指南

Xcode iOS项目

  • Xcode概述
  • 创建iOS项目
  • 在模拟器和真实设备上运行

Swift基础

  • 为什么从Objective C转向Swift?
  • Swift的亮点
  • 变量
  • 常量
  • Swift中的Hello World
  • 使用代码创建UILabel

图像动画与加载

  • UIImageView
  • 基本UIView和UIImageView动画
  • Playground
  • 图像的延迟加载
  • 延迟属性

Swift类与场景

  • 创建Swift类
  • 内存管理
  • 强引用与弱引用
  • Swift中的构造函数与析构函数
  • 协议、Hashable和Printable
  • 继承
  • 创建场景
  • 实现视图控制器
  • Playground

生命周期与响应链

  • 视图生命周期
  • 应用生命周期
  • 响应链 - touchBegan、touchMoved等方法
  • NSTimer

自适应布局

  • Storyboards与XiB
  • 多设备支持
  • 图标尺寸与设备方向
  • 使用代码构建用户界面
  • Outlets与Actions
  • 协议 - 必需与可选
  • 内存管理

通知与本地化

  • 推送通知 - 静默与推送
  • 本地化

Objective C概述

  • 属性
  • 类别
  • 函数语法
  • 属性属性readWrite与readOnly

iOS中的社交媒体集成:

  • Facebook集成
  • Twitter集成
  • 邮件集成
  • 集成第三方应用

iOS中的UI组件:

  • UITextField
  • UITextView
  • UISegmentControl
  • UISlider
  • UISwitch
  • UIProgressBar
  • UIPageControl
  • UIStepper
  • UIScrollView
  • UIPicker
  • UIActionSheet
  • UIWebView
  • SearchBar

iOS中的其他基础组件:

  • 组与文件夹
  • 闭包
  • 元组
  • URL Session
  • URLRequest
  • UIAlertView
  • UIActivityIndicatorView
  • internal、public、private
  • Guard
  • 可选值

iOS中的线程:

  • GCD
  • NSOperationQueue
  • 主线程与后台线程

用户交互

  • 按钮与处理器
  • 平移手势识别
  • 点击手势识别
  • 自定义TableView
  • CollectionView基础

多屏幕应用

  • 表格导航
  • 标签页应用
  • 导航控制器
  • 呈现控制器及不同的动画效果

位置服务

  • 位置与海拔
  • 指南针方向

设备访问与存储

  • 文件存储
  • 音乐库访问
  • iOS中的CoreData与Sqlite
  • Key Chain
  • 用户默认值
  • PLists
  • NSSearchDomain
  • 目录概念与应用安全

语音框架

  • 语音转文本
  • 文本转语音

多点框架

  • 从一台设备发送数据到另一台设备
  • 连接多台设备

网络

  • 网络访问
  • JSON的序列化与反序列化
  • REST Web服务
  • XML解析基础

上传应用到App Store

  • iTunes Connect
  • 开发者门户 - 配置文件
  • 部署与分发
  • 在真实设备上运行应用
  • 上传应用到App Store

应用示例

  • Dots游戏:https://itunes.apple.com/app/the-dots-free/id850315430
  • 笔记应用:Notes App
  • 联系人应用
  • 从开放API获取数据,创建表格视图并显示详细信息,使用搜索栏进行搜索,并使用Core Data离线保存数据
  • 你自己想法的应用

要求

您过去必须至少具有一种编程语言经验。

 35 小时

客户评论 (3)

即将举行的公开课程

课程分类