一、Objective-C语言简介
Objective-C(简称ObjC或OC),在C语言基础上做了面向对象扩展。
二、如何掌握高级编程语言
1、底层思维:向下,如何把握机器底层从微观理解对象构造。
- 语言构造
- 编译转换
- 内存模型
- 运行时机制
2、抽象思维:向上,如何将我们的周围世界抽象为程序代码。
- 面向对象
- 组件封装
- 设计模式
- 架构模式
三、“时空人”三位一体分析法
1、对时间分析 — 发生在什么时候?
compile-time & run-time
代码先经过编译,然后再load到内存进行,即分成两阶段:1编译时,2运行时。
2、对空间分析 — 变量放在哪里?
stack & heap
变量刚运行时放在哪里,粗粒度是放在内存里,细分是栈和堆里,栈和堆还会细分。
3、人物分析 — 代码哪里来的?
programmer & compile/runtime/framework
高级语言,编译器、运行时、框架经常会做手脚,知道什么时候做什么时候不做,为什么做。
四、两种开发方式
1、Clang或 GCC命令行
clang -fobjc-arc HelloWorld.m -o HelloWorld
-fobjc-arc 支持ARC内存管理./HelloWorld
2、Xcode
五、ObjC编译过程
Clang – LLVM optimizer – LLVM Code Generator
六、学习资料
1、苹果官方文档:https://developer.apple.com/library/
必看文档!!!
(1)ProgrammingWithObjectiveC:
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html
(2)ios专区 https://developer.apple.com/library/ios/
2、苹果开发者大会
https://developer.apple.com/videos/wwdc/2014/
https://developer.apple.com/videos/wwdc/2015/
七、总结
1、了解ObjC语言和编译架构
2、了解ObjC开发工具
3、了解机器思维和抽象思维
4、驾驭工具,而不是被工具驾驭
5、掌握英文学习资源很重要