Objective-C 語言簡介
- Objevitve-C在C語言基礎(chǔ)上做了面向?qū)ο蟮臄U展。
- 1980年代由Brad Cox和Tom Love發(fā)明,后來成為NeXT的主力語言,后被蘋果收購,成為蘋果開發(fā)平臺的主力語言。
- 與Cocoa和Cocoa Touch 框架高度集成,支持開發(fā)Mac OS X 、IOS應(yīng)用
- 在蘋果開發(fā)平臺上,通過LLVM編譯器架構(gòu),支持與Swift語言雙向互操作
Objietvie-C演進(jìn)脈絡(luò).png
IOS開發(fā)平臺.png
如何掌握高級編程語言
- 底層思維:向下,如何把握機器底層從微觀理解對象構(gòu)造
- 語言構(gòu)造
- 編譯轉(zhuǎn)換
- 內(nèi)存模型
- 運行時機制
- 抽象思維:向上,如何將我們周圍的世界抽象為程序代碼
- 面向?qū)ο?/li>
- 組件封裝
- 設(shè)計模式
- 架構(gòu)模式
“時空人”三位一體分析法
- 對時間分析
- compile-time VS run-time
- 空間分析
- stack VS heap
- 人物分析-代碼從哪里來?
- programmer VS compiler/runtime/framework
兩種開發(fā)方式
-
Clang或者GCC命令行
- clang -fobjc HellowWorld.m
- -fobjc-arc 支持ARC內(nèi)存管理
- 適合調(diào)試、研究、微觀探查
-
Xcode項目
-構(gòu)建正規(guī)工程項目
-使用大型框架,追求設(shè)計質(zhì)量與代碼組織
利用命令行編譯程序
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]){
@autoreleasepool {
NSLog(@"Hello,Wrold");
}
return 0;
}
在文件夾生成一個后綴為.m的實現(xiàn)文件
在終端先跳轉(zhuǎn)到當(dāng)前文件夾
clang -fobjc-arc HelloWrold.m -o HelloWorld
在文件系統(tǒng)里會生成一個新的文件HelloWorld
在終端里輸入
./HelloWrold
打開該文件,則可以得到程序的輸出
刪除arc開關(guān)語句則會報錯,不支持autoreleasepool語句
clang可以替換為gcc同樣可以編譯得到結(jié)果