【iOS 开发】Objective-C 入门 Xcode 环境详解
作者 : 韓曙亮
轉載請注明出處 :?http://blog.csdn.net/shulianghan/article/details/38424965
?
一. Xcode 環(huán)境安裝 與 工程創(chuàng)建
?
?
1. 下載環(huán)境
?
相關資源下載 :?
-- IOS 相關資料下載頁面 :?https://developer.apple.com/devcenter/ios/index.action ;
-- Xcode 下載頁面 :?https://developer.apple.com/xcode/downloads/ ;
?
?
2. 創(chuàng)建 Objective-C 程序
?
進入主界面方式 : 打開 Xcode 之后, 可以使用 Xcode 菜單, 但是必須創(chuàng)建一個 Object-C 工程 或者 導入 一個 Object-C 工程才可以進入主界面;
-- 打開現(xiàn)有工程 : 點擊右邊的歷史記錄, 就可以打開現(xiàn)有的工程;
-- 創(chuàng)建工程 : 點擊第一個 Create a new Xcode Project 即可創(chuàng)建一個新工程;
-- 導入工程 : 點擊 Check out an existing project 可以導入一個已經(jīng)創(chuàng)建的工程;
?
創(chuàng)建一個命令行程序 : 選擇 創(chuàng)建工程界面的 OS X --> Command Line Tool 程序, 即創(chuàng)建了一個命令行程序, Cocoa Application 是創(chuàng)建有界面的程序;
-- ios 項目 : ios項目是為手機和平板開發(fā)的應用;
-- OS X 項目 : OS X 是為 OS 操作系統(tǒng)創(chuàng)建的應用;
?
創(chuàng)建工程 : 注明 工程名, 公司名稱, 類型;
-- Product Name : 工程名稱;
-- Organization Name : 組織名稱;
-- Type : 這里選 Foundation, 這是 Object-C 工程;
?
3. 創(chuàng)建 IOS 項目
?
?
打開 Xcode 并選擇創(chuàng)建新工程?: 彈出菜單中選擇 IOS --> Single View Application 工程;
?
填寫項目信息?:?
--?Product Name?: 項目名稱;
--?Organization Name?: 公司標識;
--?Class Prefix?: 為了避免用戶定義類與 Object-C 類命名沖突問題, 在每個類之前都加上這個前綴;
--?Devices?: 選擇應用運行的設備, Universal 表示同事兼容 ipad 和 iphone;
?
?
?
二. Xcode 界面詳解
?
1. Xcode 界面簡介
?
?
(1) 頂部區(qū)域?
?
程序運行相關 :?
-- 從左至右介紹 : 運行按鈕, 停止按鈕, 為工程選擇運行平臺;
?
編輯器相關 :?
-- 從左至右介紹 : 標準編輯器, 輔助編輯器, 版本編輯器;
?
面板控制相關 :?
-- 從左至右介紹 : 隱藏左側面板, 隱藏底部面板, 隱藏右側面板;
?
?
(2) 左面板
?
?
面板介紹 : 該面板是 Xcode 工程導航面板, 上方的七個按鈕用于切換導航模式;
?
?
(3) 底部面板
?
?
面板介紹 : 用于 Xcode 顯示 控制臺調試輸出信息;
?
?
(4) 右面板
?
檢查器面板 : 根據(jù)項目的不同, 包含大量審查器;
?
庫面板 :?
-- 庫面板簡介(從左至右) : 文件模板庫, 代碼片段庫, 對象庫, 媒體庫;
?
?
(5) 詳細編輯區(qū)
?
該區(qū)域是代碼編寫主要區(qū)域 :?
?
?
?
?
2. 導航面板詳解
?
導航面板簡介 :?
-- 從左至右 : 項目導航, 符號導航, 搜索導航, 問題導航, 測試導航, 調試導航, 斷點導航, 日志導航;
?
(1) 項目導航
?
?
項目導航組成 :?
-- 源文件 : 在 HelloWorld 目錄下的 ".h" 和 ".m" 后綴文件是源文件;
-- 屬性文件 : 在 HelloWorld 下的 Supporting Files 目錄下是屬性文件 圖片等;
-- 單元測試項目 : HelloWorldTest 是工程的單元測試項目;
-- 目標應用 : Products 目錄下的 HelloWorld.app 是目標應用;
?
?
(2) 符號導航
?
?
符號導航簡介 : 用符號顯示工程中的 類, 項目 和 屬性;
-- 表示方式 : C 表示類, M 表示方法, P 表示屬性;
-- 快速定位 : 點擊對應的方法或者屬性, 能快速定位到這個類中;
?
?
(3) 搜索導航
?
?
搜索導航簡介 : 在搜索框中輸入要搜索的字符串, 按回車就可以搜索出包含該字符串的類;
?
?
(4) 問題導航面板
?
?
問題導航面板簡介 : 顯示項目中存在的警告或者錯誤;
?
?
(5) 測試導航
?
?
測試導航簡介?: 點擊 testExample 后面的執(zhí)行按鈕, 就會運行該單元測試;
?
?
(6) 調試導航
?
?
調試導航簡介 : 調試導航面板中顯示了各線程的詳細信息;
?
添加斷點 : 在 OCTViewController.m 中添加一個斷點;
?
開始調試(自動判斷)?: 點擊頂部面板中的調試按鈕, 如果代碼中有斷點, 就會自動進入調試狀態(tài), 執(zhí)行到斷點時會自動停止, 詳細調試信息顯示在底部的調試輸出面板;
?
調試面板介紹 :??下面從左至右介紹;
-- Continue program execution : 繼續(xù)執(zhí)行下面的代碼;
-- Step over : 單步調試, 點擊一次該按鈕, 執(zhí)行一行代碼, 如果有方法調用, 不會進入方法中;
-- Strp in : 步入調試, 點擊該按鈕, 會進入方法中;
-- Step out : 步出調試, 在方法中, 點擊該按鈕, 會退出方法, 執(zhí)行方法外的單步調試;
?
?
(7) 斷點導航
?
?
斷點導航簡介 : 列出所有的斷點, 方便管理斷點;
?
?
(8) 日志導航
?
?
日志導航簡介 : 列出項目開發(fā)過程中 構建, 生成, 運行過程, 每次該過程都可以通過日志面板查看;
?
?
?
3. 檢查器面板
?
檢查面板分類 :?
-- 普通源文件 : 包含 文件檢查器 和 快速幫助器;
-- 故事版 : 界面文件, 除了文件檢查器 和 快速幫助器之外, 還有 身份檢查器, 屬性檢查器, 大小檢查器, 連接檢查器;
?
文件檢查器 :?
-- Identity and Type : File Name(文件名), File Type(文件類型), Full Path(路徑);
-- Text Settings : Text Encoding(文件編碼使用字符集), Indent Using(縮進), Wrap lines(自動換行);
?
快速幫助器 : 將光標停留在系統(tǒng)類的時候, 該面板會顯示該類的 參考手冊, 使用指南 和 示例代碼;
?
?
界面設計相關檢查器 : 用戶選中 ".storyboard" 或者 ".xib" 后綴的文件時, 會多出另外四個檢查器;
-- 身份檢查器 : 管理界面組件類 實現(xiàn)類, 恢復ID 等標識性的屬性;
-- 屬性檢查器 : 管理界面組件 拉伸方式, 背景色 等屬性;
-- 大小檢查器 : 管理界面組件 寬高 xy軸坐標 等屬性;
-- 連接檢查器 : 管理界面組件 與程序代碼之間的關聯(lián)性;
?
?
4. 庫面板
?
?
庫面板簡介 : 從左至右介紹;
-- 文件庫模板 : 管理文件模板, 可以快速創(chuàng)建指定類型文件, 可以直接拖入項目中;
-- 代碼片段庫 : 管理各種代碼片段, 可以直接拖入源代碼中;
-- 對象庫 : 界面組件, 可以直接拖入 故事板中;
-- 媒體庫 : 管理各種 圖片, 音頻 等多媒體資源;
?
?
三. Xcode 幫助系統(tǒng)詳解
?
幫助系統(tǒng)作用 : Object-C 開發(fā)中需要調用很多系統(tǒng)的類, 需要了解每個類的 用法, 通過 Xcode 幫助系統(tǒng)可以查詢這些類的用法;
?
?
1. 快速幫助面板
?
?
右面板中的快速面板顯示內(nèi)容 : 該類繼承的父類, 遵循的協(xié)議, 類所在框架, 點擊Reference 中的鏈接, 可以進入類的詳細介紹;
?
類詳細介紹頁面 : 通過 快速幫助面板 中的 Reference 中的鏈接, 可以進入該頁面;
?
類方法分類界面 : 該界面與詳細介紹界面是同一個, 下拉即可;
?
2. 直接搜索
?
搜索 : 通過任意鏈接進入類詳細介紹界面之后, 可以在上方的輸入框中輸入關鍵字, 即可搜索相關的 類, 方法, 協(xié)議 或者 函數(shù);
?
3. 代碼自動提示
?
提示方式 : 代碼編輯區(qū)域, 按住 option 鍵, 然后將光標移動到類上, 會變成問號, 點擊就會出現(xiàn)下面的提示框;
?
?
四. Hello World 程序
?
?
1. 文件擴展名介紹
?
C語言源文件后綴 : ".c";
C++語言源文件后綴 : ".cc", ".cpp";
頭文件 : ".h";
Object-C源程序 : ".m";
Object-C++源程序 : ".mm";
C/C++/Object-C/Object-C++生成的中間文件 : ".o";
C/C++/Object-C/Object-C++生成的可執(zhí)行文件 : ".out";
?
?
2. 程序源碼及解析
?
程序源碼 :?
?
/* 導入 Foundation 框架下的 Foundation.h 文件 */ #include <Foundation/Foundation.h>/* 程序入口函數(shù) */ int main(int argc, char * argv[]) {/* 自動釋放池, 該環(huán)境中執(zhí)行的語句會自動回收所創(chuàng)建的對象 */@autoreleasepool{/* Foundation 中的輸出函數(shù), 可輸出字符串, 對象等 */NSLog(@"Hello World"); /* @"Hello World", 加上 @ 是為了與 C 中的字符串區(qū)分 */}return 0; }?
?
?
?
?
(1) 導入框架頭文件
?
導入頭文件語句 : #import <a/b.h> 是導入 a 框架 中的 b.h 頭文件;
?
框架簡介 : 框架是 一系列類 函數(shù)的集合, Cocoa QuickTime 都被封裝成了框架, Cocoa 包括了 Foundation 和 Application Kit 等組件;
?
?
(2) 自動釋放池
?
內(nèi)存管理 : 在早期的 Object-C 需要手動管理內(nèi)存的分配和回收, Object-C 2.0 引入了 ARC(自動引用計數(shù)) 和 自動釋放池, 不在進行手動內(nèi)存管理;
?
自動釋放池 : 使用 "@autoreleasepool{}" 包裹的代碼位于 Object-C 的自動釋放池中, 這些語句會自動回收創(chuàng)建的對象, 不用進行手動的內(nèi)存管理;
?
?
(3) 字符串輸出
?
NSLog()函數(shù) : 該函數(shù)是 Foundation 框架提供的一個函數(shù), 該函數(shù)可以輸出 字符串 對象等;
-- NS 前綴說明 : Cocoa 框架中所有的 類 函數(shù) 常量 都會加上 NS 前綴;
-- @"string" 說明 : @符號 用于區(qū)分 Object-C 與 C語言字符串, 加上 @ 符號的時 Object-C 字符串;
?
?
3. 編譯運行代碼
?
LLVM Clang 編譯器語法 : clang -fobjc-arc -framwork 框架名稱 源程序 -o 輸出結果 ;
-- -fobjc-arc 參數(shù) : 啟用 Object-C 的 ARC 自動技術功能;
-- -o 參數(shù) : 如果不帶, 默認 輸出 a.out ;
?
編譯執(zhí)行結果 :?
?
octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 01-HelloWorld.m octopus-2:ios octopus$ ls 01-HelloWorld.m a.out octopus-2:ios octopus$ ./a.out 2014-08-10 00:22:55.670 a.out[3394:507] Hello World?
?
?
?
作者?:?韓曙亮
轉載請注明出處?:?http://blog.csdn.net/shulianghan/article/details/38424965
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【iOS 开发】Objective-C 入门 Xcode 环境详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【网络安全】网络安全攻防 -- 黑客攻击
- 下一篇: 【Android 应用开发】 Fragm