? ? 千里之行 始于足下
? ? 今天開始老何與大家分享iOS開發(fā)Objective-C語言部分,該如何學(xué)好一門編程語言呢?老何有一點經(jīng)驗愿和大家分享。【見附注1】
? ? OK,咱們開始Objective-C語言的第一個程序Hello World!
1,打開Xcode,新建工程

2,選擇模版:macOS-Command Line Tool

3,輸入工程模版選項? ? ? ?
? ? (1)、項目名稱:如HelloWorld? ? ? ? ??
? ? (2)、公司名稱:如company? ? ? ? ??
? ? (3)、公司標(biāo)識:如com.company(很重要,一般是公司域名倒寫)? ? ? ? ??
? ?(4)、編程語言:Objective-C(這里選Objective-C,對比Swift)

4,選擇工程存放位置,創(chuàng)建

5,生成工程結(jié)構(gòu)如下? ? ? ? ? ?
? ? ?(1)、HelloWorld/main.m: 源文件目錄及main.m主程序文件(和Swift后綴不同這里為.m,對比上一篇為main.swift)? ? ? ? ? ??
? ? (2)、Products/HelloWorld:編譯后的可執(zhí)行文件

6,雙擊main.m打開主程序文件(對比Swift,OC中有main函數(shù)作為入口)

7,編輯代碼,增加注釋? ? ? ?
? ? ?> #import,導(dǎo)入Fodundation框架(相當(dāng)于引入程序包,各編程語言基本一致,代碼中用到什么函數(shù)就要在頂部導(dǎo)入相關(guān)程序包)
? ? > int main(int argc, const char * argv[]){},main主函數(shù),程序的入口(參數(shù)argc表示參數(shù)數(shù)目,argv表示參數(shù)值){}之間是代碼語句段,里面每條語句以;結(jié)束(swift中可省略;)。
? ? > @autoreleasepool { },創(chuàng)建一個自動釋放內(nèi)存池對象,用它來維護(hù)內(nèi)存釋放和回收
? ? > //輸出字符串, 為單行注釋,/* */為多行注釋,類似于備注(用于看代碼方便,增加可讀性)
? ? > NSLog(@"Hello, World! Objective-C");,輸出函數(shù),輸出字符串(對比Swift的println)
? ? > rerurn 0;,代表main函數(shù)返回(結(jié)束main函數(shù)執(zhí)行, 返回值0代表正常結(jié)束,非0代表異常情況)

8,運行

9,控制臺輸出了結(jié)果

附注:
1、如何學(xué)習(xí)一門語言 ?
? ? 老何把語言學(xué)習(xí)分成三個部分:基本功+套路+規(guī)則,為了便于理解把它和武術(shù)學(xué)習(xí)作對比(老何曾在體大學(xué)過一點散打的,略懂一二)
? ?基本功:是編程的基礎(chǔ),如數(shù)據(jù)類型、基本運算、流程控制等,對應(yīng)武術(shù)中手法、步型、腿法等。
? ?套路:是經(jīng)驗的總結(jié),語言中有各種模式,如MVC、單例、觀察者、代理等,對應(yīng)武術(shù)中如什么式,多少掌等。
? ?規(guī)則:是語言的精華,如API或框架,每種語言有自己的規(guī)則(按照一定的方法,輸入特定的參數(shù),獲得想要的結(jié)果),對應(yīng)武術(shù)中就是競技規(guī)則,只有按照規(guī)則比賽才能得分。
? ?基于此,我們重點要練好基本功,掌握一些套路,不斷的積累并運用規(guī)則。
? ?最后加一點就是勤奮,不斷的修煉,總結(jié),當(dāng)然要結(jié)合各種實戰(zhàn)。(實踐是檢驗真理的唯一標(biāo)準(zhǔn))
? 最終目標(biāo)是融會貫通,達(dá)到無招勝有招(給個需求總能給出有效的解決方法)
相關(guān)文章:
創(chuàng)建Java HelloWorld(千里之行 始于足下)<04<Android開發(fā)小典