为什么学习 iOS 开发,以及使用 OC 语言?
目前,企业级的 App 还是一片蓝海,iOS 是移动开发中最基础的两个平台之一。
在万物互联的应用中,技术实现和工程思维是一脉相承的,并且比语言更重要。
而相比新兴的 Swift,OC 更加稳重,更适用于大型工程。
课程大纲#
- 开发准备:Xcode 是主要开发环境
- 基本页面:熟悉页面的基本结构,各模块的创建、使用和相关原理
- 基本功能:理解不可见的底层模块
- 辅助功能:了解常用的辅助功能
常见 App 类型与技术栈#
- 常见 App 类型:IM 通讯类、视频直播类、摄像类、资讯类、工具购物类
- 技术栈
- App 展示界面和动画:底部 TabBar、Navigation 导航、列表、图片、按钮、标签、文本、网页、常用动画。可以联想微信 App
- App 通用技术架构:网络、存储、图片、音视频、数据解析、布局渲染、启动、日志系统、上报系统
- App 常用功能:复杂内容页、登陆、分享、频道管理、推送、定位、插件、证书、上架
一切从 "HelloWorld!" 开始❗️#
准备
- 安装:AppStore 中下载即可
- 创建工程:创建 iOS 类型应用,填写工程基本信息
- 布局:左 —— 目录结构等,中 —— 代码,右 —— 文件配置,下 —— 调试
- PS:可以通过单击工程文件配置工程
代码
- 函数定义
- 格式:-/+ (returnType) methodName:(argType1) argName1 joiningName2:(argType2) argName2 {}
- 函数名:methodName
- 一般可以让「joiningName」与「argName」相同
- 函数调用的格式:[obj methodName var joiningName2];
PS
- self 和 super
- self:是指向当前调用方法的对象
- super:是一个关键字,代表调用父类的方法
- 参考OC 中的 self 和 super—— 简书
- 使用 "." 符号:访问对象的属性
- addSubview: 后使用 "({})":是 gcc 的一种扩展,简化代码,更易阅读
- {} 中可以包含多条语句
- () 让 {} 中最后一个表达式作为整个表达式的返回值
- 使用 @"":可以快速构建字符串
- CGPointMake:是内联函数,所以不需要使用方括号
- 在编译的时候会将函数体替换为函数调用👉不需要在堆栈上创建一个函数调用👉提高运行速度
- 然而,它会增加二进制文件的大小
运行结果
Tips#
- 辅助软件
- IDE:Appcode
- 可视化:Reveal
- 抓包:Wireshark、Charles
- 文件管理:MachOView
- 证书管理:Impactor
- 配置管理:Apple Configurator 2
- 图标制作:Prepo
- 全网最详细的 VMware 虚拟机安装 MacOS 系统教程,没有之一!!!附全部资源—— 知乎
- 解锁软件:paolo-projects/auto-unlocker——Github
- 优化卡顿工具:beamoff
- 实际体验:还是比较卡,建议直接买 Mac