1.IOS開發(fā)平臺(tái)支持三類語言:swift OC C/C++
2.如何掌握高級(jí)編程語言
如何把握底層從微觀理解對(duì)象構(gòu)造
底層思維:語言構(gòu)造、編譯轉(zhuǎn)換近弟、內(nèi)存模型缅糟、運(yùn)行時(shí)機(jī)制
如何將我們的周圍世界抽象為程序代碼
抽象思維:面向?qū)ο蟆⒔M件封裝祷愉、設(shè)計(jì)模式窗宦、架構(gòu)模式
3.分析的方法
時(shí)間的分析 1)complie-time 編譯時(shí) 2)run-time 運(yùn)行時(shí)
空間的分析 1)stack 棧 2)head堆
理解棧和堆的區(qū)別:
棧區(qū)(stack)-由編譯器自動(dòng)分配釋放,存放函數(shù)的參數(shù)值二鳄,局部變量的值等赴涵。
堆區(qū)(head)-一般由程序員分配釋放,若程序員不釋放泥从,程序結(jié)束時(shí)由OS回收。
人物分析-代碼是從哪里來的沪摄?1)programmer 2)complier/runtime/framework
要明白編譯器在背后做了些什么操作躯嫉。
4.兩種開發(fā)模式 1)基于命令行 Clang 或 GCC命令 2)Xcode
預(yù)編譯指令
Objective-C:#import
C,C++:#include
import由gcc編譯器支持
import和include的區(qū)別:
引入一個(gè)頭文件 確保引用的文件只會(huì)被引用一次杨拐,避免多次引用重復(fù)祈餐,不會(huì)引起交叉編譯 建議使用#import
用三種方式輸出HelloWorld:
1)Clang編輯器
首先打開終端,切換到當(dāng)前目錄 cd+拖拽一個(gè)目錄過來
其次輸入ls:列出目錄下所有文件 里面會(huì)有
最后編譯
Clang fobjc-arc HelloWorld.m -o HelloWorld
說明:Clang 編譯器的名字
fobjc-arc 可以理解為是一個(gè)標(biāo)記的開關(guān) 支持arc內(nèi)存管理
-o 是輸出的意思 output
./(可執(zhí)行文件的名字)的意思是:執(zhí)行該文件 輸出結(jié)果:HelloWorld
如果將開關(guān)語句去掉 會(huì)報(bào)錯(cuò)誤哄陶。不支持aotorelease
2)GCC
GCC fobjc-arc HelloWorld.m -o HelloWorld
結(jié)果同上
3)Xcode 用命令行形式 OS X ->Application->CommandLine
代碼截圖上傳不了帆阳,先復(fù)制過來。屋吨。蜒谤。沒有找到如何放在代碼框里面
import <Foundation/Foundation.h>
int main(int argc,const char *argv[])//整個(gè)程序的入口
{ @autoreleasepool//
{
NSLog(@"Hello,World!");//在命令行上輸出一句話 @代表OC里面的字符串 去掉后是C語言的
}
return 0;//返回0
}
build->控制臺(tái)輸出結(jié)果
命令行開關(guān):Clang -help 可以對(duì)編譯器有更好的了解。
推薦使用命令行的方式寫一些小程序適合調(diào)試至扰、研究鳍徽、微觀探查
- 編譯過程 LLVM-Clang(目前IOS)
OC->前端工具->代碼優(yōu)化->編譯完成之后直接生成
6.學(xué)習(xí)資源:
蘋果官方文檔、蘋果開發(fā)者大會(huì)WWDC