Xcode使用教程詳細(xì)講解(全)
Xcode使用教程詳細(xì)講解是本文要介紹的內(nèi)容,Xcode是一個(gè)款強(qiáng)大的IDE開發(fā)環(huán)境,就像你在寫Windows程序時(shí)需要VS2005一樣 需要要Xcode為你寫Mac程序提供環(huán)境。因此,如果你要成為Mac 程序的開發(fā)者,靈活運(yùn)用Xcode工具是你必須做的第一步。
1)我們寫程序時(shí)常常在源文件的頭部添加copyright聲明以及公司名稱等等;而Xcode在創(chuàng)建文件時(shí)已經(jīng)幫我們做了絕大部分工作,我們可能需要修改一下公司名稱,因?yàn)閤code給不知道我們公司名稱,它不可能預(yù)知一切,所以需要我們自己通過設(shè)置來告訴它。那么我們?nèi)绾巫龅竭@一點(diǎn)呢?因?yàn)閤code中沒有有關(guān)公司名稱的占位符,所以我們必須通過terminal使用命令來設(shè)置。
在使用這個(gè)命令之前 我們來看看xcode為我們提供的默認(rèn)文件頭部注釋:
// // untitled.m // FilesOrganize // // Created by yan li on 8/29/09. // Copyright 2009 __MyCompanyName__. All rights reserved. //
在terminal中執(zhí)行如下命令(打開terminal的熱鍵是command+shift+U):
yan-lis-macbook-pro:~ yanli$ defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "LiYanzhong";}'
注意上面的命令是在terminal命令行的同一行,而不是兩行,這里是因?yàn)槊钐L(zhǎng)所導(dǎo)致。注意該命令執(zhí)行時(shí)不會(huì)發(fā)出任何提示,即使你在命令中寫錯(cuò)了參數(shù)名執(zhí)行后也不會(huì)有任何提示,所以如果你執(zhí)行該命令后發(fā)現(xiàn)你期待的效果沒有出現(xiàn),就請(qǐng)你檢查一下你是否有拼寫錯(cuò)誤,執(zhí)行該命令后我們重新啟動(dòng)xcode并重新創(chuàng)建文件,這個(gè)時(shí)候創(chuàng)建的文件頭部注釋,如下所見:
/* * untitled.h * Untitled * * Created by yan li on 8/29/09. * Copyright 2009 LiYanzhong. All rights reserved. * */
2)使用編輯器的技巧
a)如何關(guān)閉Xcode界面上的瀏覽器窗口?
點(diǎn)擊 在Xcode工具欄上的最右邊個(gè)Editor圖標(biāo),可以打開或關(guān)閉Xcode中查找項(xiàng)目文件的瀏覽器??旖萱I是command+shift+E。

如果你的窗口上每個(gè)我所說的圖標(biāo),則你需要自己手動(dòng)將該圖標(biāo)放置到工具欄上。如何放呢?
激活Xcode工具,進(jìn)入 View->Customize Toolbar... 你會(huì)發(fā)現(xiàn)右很多沒有在工具欄上出現(xiàn)的工具,你可以將想要隨時(shí)可以用的工具拖到工具欄上就ok了。
b)如何對(duì)代碼進(jìn)行首行縮進(jìn)?
第一種方法:選中需要縮進(jìn)的代碼,按住control鍵后單擊光標(biāo),出現(xiàn)pop菜單,然后選擇Re-indent selection。
第二種方法:選擇需要調(diào)整的代碼,同時(shí)按下command+[ (左移動(dòng)代碼)或 command+](右移動(dòng)代碼)。
c)代碼自動(dòng)完成功能的強(qiáng)大應(yīng)用
在Xcode中寫代碼,Xcode編輯器常常給出提示,如果給出的代碼提示符合我們的要求,我們就可以按tab鍵選擇所提示的代碼。
如果提示代碼不符合我們要求,我們可以按下esc鍵,將整個(gè)提示列表顯示出來,找到我們需要的。在列表成員的最左邊有個(gè)小方框,如果里面是f則對(duì)應(yīng)的成員是函數(shù);如果是m則是方法;如果是#則是#define命令;如果是E則是枚舉;如果上C表示類。
如果我們不希望顯示提示列表也能在列表成員間選擇,我們可以使用快捷鍵control+. 在選項(xiàng)之間循環(huán);也可以使用shift+control+. 在選項(xiàng)間反向循環(huán)。我們可以通過“代碼自動(dòng)完成功能”來查詢一個(gè)類所提供了哪些API(接口方法)。方法是將類寫在方法調(diào)用表達(dá)式中實(shí)現(xiàn)這一查詢功能:
[NSDictionary+空格,然后按下esc鍵,將出現(xiàn)NSDictionary中提供的方法列表。注意:[NSDictonary后面必須要有空格,提示編譯器類名稱已經(jīng)寫完接下來要輸入的是消息(即類中的方法名)。
將光標(biāo)從一個(gè)占位符跳到下一個(gè)占位符的快捷鍵是:control + /
d)在修改一個(gè)項(xiàng)目的代碼時(shí),請(qǐng)先拍下快照。
File->Make Snapshot 拍下項(xiàng)目的快照; File->Snapshots 從快照中恢復(fù)。對(duì)應(yīng)的快捷鍵:control+command+S; 恢復(fù)沒有快捷鍵,這樣的好處就是--當(dāng)代碼修改爛了,可以恢復(fù)到最處狀態(tài)。由此可見,這個(gè)功能只是在我們修改代碼時(shí)提供幫助,不能真正的替代我們手動(dòng)修改代碼。
e)查找 替換功能的使用:
Edit->Find->Find in Projects... 出現(xiàn)如下對(duì)話框:

在Find欄輸入要查找的字符;在Replace欄中輸入要替換查找到的字符的字符;我們選擇在工程中查找。如果我們不選擇Ignore case 則替換只發(fā)生在main()函數(shù)中。
該方法修改代碼有很到的弊端--如果我只想修改某個(gè)函數(shù)內(nèi)的car字符,但是這樣修改會(huì)將函數(shù)外的所有我不許修改的car字符也改了;二是它不能修改類名和文件名;所以需要下面的方法來彌補(bǔ)它的第一不足。
f)該方法可以解決上面修改代碼的第一個(gè)缺陷,可以將代碼的修改控制在一個(gè)函數(shù)之內(nèi),但是它仍然不能修改類和文件名字。使用這個(gè)方法前,必須用光標(biāo)選擇一個(gè)需要修改的局部變量字符或函數(shù)參數(shù),注意必須是字符,如果你選擇的是類名字符則不會(huì)出現(xiàn)菜單項(xiàng)“ Edit all in Scope".
Edit->Edit all in Scope,然后在你輸入的時(shí)候,所有出現(xiàn)該字符的地方一起被輸入的字符替換掉。
g)下面講解一種可以修改類名和文件名的方法。
是用該方法可以改變類名字和文件名;先選擇一個(gè)需要被修改的類名,如Engine;將光標(biāo)插了到該字符中,選擇Edit->Refactor...打開如下的對(duì)話框:


你如果需要將Car修也可以。
按下 preview按鈕,界面如下所見,Xcode自動(dòng)給處了我們分析報(bào)告,有什么文件將被修改,每個(gè)文件有幾處會(huì)被修改等信息。從下面圖可以看到,類名以及類的文件名都被修改了。

h)在Cocoa文本域常用的快捷鍵:
使用如下的快捷鍵 我們就可以在小范圍呢移動(dòng)光標(biāo)二不讓手不離開鍵盤了。
control+F : 在同一行上將光標(biāo)向右移動(dòng)
control+B : 在同一行上將光標(biāo)向左移動(dòng)
control+P : 將光標(biāo)移動(dòng)到前一行
control+N : 將光標(biāo)移動(dòng)到后一行
control+A : 將光標(biāo)移動(dòng)到本行的行首
control+N : 將光標(biāo)移動(dòng)到本行的行尾
control+T : 將光標(biāo)兩邊的字符對(duì)調(diào)
control+D : 刪除光標(biāo)右邊的字符
control+k : 刪除光標(biāo)所在行 光標(biāo)后面的代碼,便于你重寫行尾代碼
control + L :將光標(biāo)插點(diǎn)置于窗口正中。
i)如何在Xcode中搜索一個(gè)文件?
在一個(gè)源文件如何打開一個(gè)由#import導(dǎo)入的頭文件呢?
選中該頭文件(可以不包含.h),然后通過File->Open Quickly...打開該被選中的文件。
在沒有選中任何文本時(shí),選擇Open Quickly...則打開一個(gè)簡(jiǎn)單的查詢窗口,查找工程中的文件??旖萱Icommand+shift+D
如果你當(dāng)前在看一個(gè).m文件,這個(gè)時(shí)候你突然想要看看與該文件對(duì)應(yīng)的.h文件,我們可以使用command + option+向上箭頭 組合鍵,打開配套文件。
j)Xcode中書簽的使用
如果你要將代碼中的某個(gè)部分標(biāo)注起來,以便以后和方便的找它這部分代碼,則我們可以使用書簽。
選中一段文本或在源文件中放入插入點(diǎn),然后選擇Edit->Add to Bookmarks(快捷鍵 command + D),出現(xiàn)提示時(shí)輸入書簽名。
k)代碼編輯器的導(dǎo)航條
導(dǎo)航條 就是在本文編輯窗口的頂部。
導(dǎo)航條上有個(gè)功能菜單,我們可以通過#pragma mark命令向 功能菜單上添加項(xiàng)。#pragma指令將objective-c將常規(guī)代碼之外的信息或說明傳遞給編譯器和代碼器。通常,#pragma是被忽略,如果你的編譯器不認(rèn)識(shí)它就會(huì)忽略它,不會(huì)報(bào)考警告。
除了通過#pragma mark向功能菜單添加項(xiàng);
在注釋中以如下關(guān)鍵字符打頭的文本都會(huì)被添加到功能菜單:
MARK:
TODO:
FIXME:
!!!:
???:

L)通過研究助手(Research Assistant)獲取Xcode 的文檔和參考資料。
可以通過Help->Show Research Assistant 打開研究助手;一旦研究助手的浮動(dòng)窗口被打開后,浮動(dòng)窗口中的內(nèi)容會(huì)隨著你與Xcode 交互操作的內(nèi)容改變而改變。
如下圖所示:在Tire.m文件中,當(dāng)光標(biāo)在NSString類上時(shí),研究助手浮動(dòng)窗口所顯示的信息:

切換到文件Tire.h中,研究助手的浮動(dòng)窗口就顯示有關(guān)NSObject的信息:

M)文檔管理程序
我們可以通過訪問蘋果公司的官方API文檔;方法是按住Option鍵并雙擊某個(gè)要查看的符號(hào)。如我們按住Option鍵并雙擊NSString符號(hào)將在文檔瀏覽器窗口中打開有關(guān)NSString的資料信息,如下圖:

按住control鍵并單擊文檔區(qū)域來打開pop菜單,選擇任何菜單項(xiàng),在另一個(gè)窗口中打開該文檔。
M)如何調(diào)試程序?
(a)有兩種方法:一是暴力調(diào)試,二是使用調(diào)試器調(diào)試。
什么是暴力調(diào)試?
暴力調(diào)試就是在你的程序中添加NSLog()語(yǔ)言,將程序的控制流程和一些重要數(shù)據(jù)輸出到終端上。
調(diào)試器調(diào)試:
調(diào)試器 就是介于你編寫的應(yīng)用程序和操作系統(tǒng)之間的一種程序,可以對(duì)你的程序進(jìn)行控制,如停止,執(zhí)行,單步跟蹤等。
Xcode使用的調(diào)試器是GDB。
Xcode除了有GDB外,還有一個(gè)微型調(diào)試器,它是一個(gè)浮動(dòng)窗口,通過它我們能接跳過GDB調(diào)試器做一些簡(jiǎn)單的調(diào)試工作。
Xcode有一個(gè)提供大量概述信息的調(diào)試窗口。
Xcode提供一個(gè)調(diào)試控制臺(tái),通過它可以直接向調(diào)試器發(fā)調(diào)試命令。
(b)如何用調(diào)試器進(jìn)行調(diào)試?
(1)編譯程序時(shí)必須使用編譯器的Debug配置,這樣編譯出的程序包含調(diào)試信息(調(diào)試器要用的信息)
(2)調(diào)試時(shí) 需要讓程序在調(diào)試器模式下運(yùn)行。
在Xcode中有兩種運(yùn)行程序的方法:Run->run (快捷鍵:command + R), 不用調(diào)試器運(yùn)行程序;
Run->Go(Debug)或者Run->Debug(快捷鍵:command+Y),使用調(diào)試器運(yùn)行程序。
(3)對(duì) 斷點(diǎn) 的操作 如何設(shè)置斷點(diǎn)?
在 邊列(gutter)上單擊 就可以設(shè)置一個(gè)藍(lán)色的斷點(diǎn);在次單擊就disable該斷點(diǎn);如果要?jiǎng)h除該斷點(diǎn)就將該斷點(diǎn)拖出邊列。
調(diào)試快捷鍵:
continue : option + command + P step Into : shift + command + I step Over : shift + command + O step Out : shift + command + T
打開Xcode的調(diào)試窗口(點(diǎn)擊調(diào)試控制欄上一個(gè)有噴霧器的方框)如下圖:

通過該窗口,可以執(zhí)行各種調(diào)試命令并觀察變量值的變化。
如下是GDB的命令調(diào)試窗口,在其中可以輸入gdb的調(diào)試命令對(duì)程序進(jìn)行調(diào)試:

通過調(diào)試控制欄上一個(gè)控件(黑色方框控件右邊的那個(gè)),可以察看函數(shù)調(diào)用棧;如上圖所示。
[Note]邊列(斷點(diǎn)所在的列) 傍邊較窄一列就是 焦點(diǎn)列。
小結(jié):Xcode使用教程詳細(xì)講解的內(nèi)容介紹完了,希望本文對(duì)你有所幫助,我們大概學(xué)習(xí)了Xcode這一強(qiáng)大的工具,要想深入研究它,我們還有很多的路要走,不過我們已經(jīng)有了一個(gè)好的開始。
相關(guān)文章
IOS 開發(fā)之ios視頻截屏的實(shí)現(xiàn)代碼
這篇文章主要介紹了IOS 開發(fā)之ios視頻截屏的實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2017-07-07
Objective-C關(guān)鍵字@property使用原理探究
這篇文章主要為大家介紹了Objective-C關(guān)鍵字@property使用原理探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
iOS粒子路徑移動(dòng)效果 iOS實(shí)現(xiàn)QQ拖動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了iOS粒子路徑移動(dòng)效果,iOS實(shí)現(xiàn)QQ拖動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
iOS使用UIBezierPath實(shí)現(xiàn)ProgressView
這篇文章主要為大家詳細(xì)介紹了iOS使用UIBezierPath實(shí)現(xiàn)ProgressView,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
iOS實(shí)現(xiàn)漸變按鈕Gradient Button的方法示例
這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)漸變按鈕Gradient Button的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
實(shí)例講解iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中的Visitor訪問者模式
這篇文章主要介紹了iOS應(yīng)用的設(shè)計(jì)模式開發(fā)中的Visitor訪問者模式的實(shí)例,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03
iOS scrollview實(shí)現(xiàn)三屏復(fù)用循環(huán)廣告
這篇文章主要介紹了iOS scrollview實(shí)現(xiàn)三屏復(fù)用循環(huán)廣告,從服務(wù)器請(qǐng)求的廣告,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01

