这是我参与「第四届青训营 」笔记创作活动的的第1天
开班第一课 | 青训营笔记
《iOS 现状与开发者生态》
TLDR:未来可期,兴趣为王,工程师发展不限于开发语言和设备。
《Xcode & Objective-C 简介》
Xcode工程体系介绍
- Workspace
- 可以包含多个Project
- 组合庞大复杂的工程
- Project
- 可以包含多个target
- 组织 1.代码文件 2.资源文件 3.动态/静态库 4.构建配置
- Target
- 特定构建目标
- Product
- target从project中圈出一部分文件,根据构建配置/构建规则/构建阶段,执行构建
OC语言特性
OC概述(自学部分)
- Brad Cox:发明OC
- 1980:OC = C + smalltalk
- C优点:
- 可移植性
- 高级语言
- smalltalk:
- 面向对象
- C优点:
- OC发展
- NeXT设计NextStep,OC写的界面工具包
- 1995Next获得OC全部商业版权,1996苹果收购Next,将NextStep改名为Cocoa,OC成为Mac平台主力语言
- 2015 swift 2.0 开源
- 相对于C
- 在C上新增面向对象
- 源文件.m,m代表message,是OC中重要的消息机制
- main仍然是入口和出口
- Hello World
- #import指令:预处理指令,#include的增强版
- 不会重复引入
- Foundation框架:直接调用
- @autoreleasepool自动释放池
- NSLog函数:printf增强版
- 输出调试相关信息
- 时间
- 程序名
- 进程编号
- 线程编号
- 输出信息
- 自动换行:如果在结尾写了\n,不会再加一个
- 新增的数据类型,只能用NSLog输出
- 输出调试相关信息
- NS前缀:NextStep
- 大部分OC关键字以@开头
- @public
- @interface
- @implemation
- OC字符串以@开头
Protocol协议:
- 意义:实现多继承
- 委托
- 遵守dataSource协议的对象负责提供数据 1.系统向外部请求数据时,调用遵守dataSource协议的对象的方法即可
- 遵守delegate协议的对象接收消息 2.系统向外部发送通知时,调用遵守delegate协议的对象的方法
方法 = 消息传递
- 在编译时,仅确定消息(某函数要执行某方法),在运行时,才确定执行具体的方法的地址,因此可以在运行时新增/删除方法