Objective-C简介
Objective-C语言简介:
Objective-C(简称ObjC或OC),在C语言的基础上做了面向对象扩展
1980年代初由Brad Cox和Tom Love发明,后来成为NeXT的主力语言,后被苹果收购,成为苹果开发平台的主力语言(NeXT由乔布斯创立)
与Cocoa和Cocoa Touch框架高度集成,通过LLVM编译器架构,支持与Swift语言双向互操作
如何掌握高级编程语言:
底层思维:向下,如何把握机器底层从微观理解对象构造
- 语言构造
- 编译转换
- 内存模型
- 运行时机制
抽象思维:向上,如何将我们周围世界抽象为程序代码
- 面向对象
- 组件封装
- 设计模式
- 架构模式
“时空人”三位一体分析法:
对时间分析——发生在什么时候?
- 编译时
- 运行时
空间分析——变量放在哪里?
- 变量——>内存——>栈和堆
人物分析——代码哪里来的?
- 编译器在背后做了手脚——>什么时候做 什么时候不做 为什么做
两种开发方式:
Clang或GCC命令行
编译:
clang -fobjc-arc HelloWorld.m -o HelloWorld
clang
:编译器名(也可以换成gcc);
-fobjc-arc
:支持ARC内存管理;
-o HelloWorld
:生成结果的文件名执行:
./HelloWorld
./加文件名
适合调试,研究,微观探查
clang -help查看Clang帮助
终端常用命令符
pwd
:查看当前所在位置ls
:查看当前文件夹中的内容cd XXX/
:进入指定目录 (XXX文件夹名称)mkdir XXX
:创建一个文件夹rmdir XXX
:删除文件夹cd ../
:返回上一级clear
:清空终端open XXX
:打开一个文件touch XXX.XXX
:创建一个文件cat XXX.XXX
:查看一个文件Xcode项目
构建正规工程项目
使用大型框架,追求设计质量与代码组织
HelloWorld:
#import <Foundation/Foundation.h>
//import 引入一个名叫Foundation.h的头文件
int main(int argc, const char * argv[]){
//函数入口点
@autoreleasepool {
NSLog(@"Hello,World!");
//类似C语言的printf,注意@
}
return 0;
}
ObjC编译过程:
学习资源: (必看)
Programming with Objective-C : http://www.jianshu.com/p/b6434c2997d1# (中文翻译)