iOS開發入門 ☞ OC語言·學前準備,iosoc
基礎知識1. 前言
Windows系統的可執行檔的格式為: .exe
Mac 系統的可執行檔的格式可以是任意的
OC語言是在C語言基礎之上進行了加強和擴充, OC語言相容所有的C語言文法,OC特有的東西一般就用自己的。
2. 系統類別首碼
Cocoa中系統類別首碼NS=NEXTSTEP
3. 關鍵字
大多數關鍵字都是以@開頭。
4. 運行過程
- 編寫OC源檔案:.m、.c
- 編譯:cc –c xxx.m xxx.c
- 連結:cc xxx.o xxx.o –framework Foundation(用到了Foundation架構需加上-framework Foundation)
- 運行:./a.out
[ 注意:編譯和連結可以合并:cc xxx.m xxx.m –framework Foundation ]
5. #import
#import是一個預先處理指令,作用跟C語言的#include類似,都是 包含(拷貝)某個檔案的內容 到 預先處理指令所在的位置。
- #import的用途:
- 跟#include一樣,拷貝檔案的內容。
- 可以自動防止檔案的內容被重複拷貝。
- #import來包含標頭檔,優點是可以自動防止同一個標頭檔被包含多次。
#import <...>表示包含系統內建的檔案,#import "..."表示包含開發人員自己建立的檔案
- #import <Foundation/Foundation.h>
- 包含Foundation架構下的Foundation.h檔案
- Foundation.h是主標頭檔(裡面的內容都是Foundation架構下所有標頭檔的連結)
- [主標頭檔名與其架構名保持一致]
- 只需要包含主標頭檔,就可以使用其整個架構的東西!
Xcode中:
按住command鍵,滑鼠點擊可以訪問架構和方法的詳細內容
快速鍵command+F可以快速尋找
6. 資料類型
- OC中Boolean(布林,true/false)類型和BOOL(布爾,YES/NO)類型都可以用作邏輯判斷!
方法選取器 @selector(方法名)
(1)配合對象(類)來檢查對象(類)中有沒有實現某一個方法
respondsToSelector注意點:
- 如果是通過一個對象來調用該方法那麼會判斷該對象有沒有實現-號開頭的方法
- 如果是通過類來調用該方法, 那麼會判斷該類有沒有實現+號開頭的方法
(2)配合對象(類)來調用某一個SEL方法
(3)配合對象將SEL類型作為方法的形參,即 “@selector(方法名)” 可作為方法的參數(將一個方法作為另一個方法的參數傳入)
可以把一個對象的方法傳到另一個對象的方法中去執行。
7. OC中的for迴圈
8. OC中的異常捕捉方法
@try … @catch … @finally
9. 修改項目模板
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project\ Templates/Mac/Application/Command\ Line\ Tool.xctemplate/TemplateInfo.plist
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/Source/Cocoa\ Class.xctemplate
10. Xcode文檔安裝
(1)線上安裝
(2)複製拷貝文檔到文檔安裝目錄
Xcode文檔安裝位置: /Applications/Xcode.app/Contents/Developer/Documentation/DocSets
退出重新開啟Xcode。如果還不行,/Users/你的使用者名稱/Library/Developer/Shared/Documentation/DocSets 看是否存在同名的或版本更新的,把它刪掉。
注意:如果檔案夾中有版本更高的文檔不會顯示低版本文檔。
(3)文檔裡關鍵單詞說明
Getting Started:新手入門
Guides:指南(程式員經常看的部分)
Reference:參考資料(程式員經常看的部分,裡面有每個方法的說明)
Release Notes:發布說明
Sample Code:範例程式碼
Technical Notes:技術說明
Technical Q&A:常見技術問答
Video:視頻(主要是WWDC的視頻)
(4)如何閱讀文檔
快速查詢文檔:
1》按住option鍵,單擊要查詢的關鍵內容
2》通過Quick Help查詢(雙擊選中要查詢的關鍵內容,再點擊”問號“看快速文檔)
3》在協助文檔中直接搜尋
11. 自訂代碼塊(捷徑)
如何匯入別人寫的捷徑(代碼塊)?
將代碼塊檔案直接拷貝到下面目錄中,然後重啟Xcode即可。
/Users/renbo/Library/Developer/Xcode/UserData/CodeSnippets
12. 代碼分組
#pragma mark - 對代碼分組
功能:簡單來說就是對代碼的分組。方便代碼尋找和導航用的
13. 常見錯誤
只有方法聲的明沒有方法的實現,調用方法會出現下面經典錯誤:發送了一個未識別的訊息給執行個體
reason:'-[類名 方法]:unrecognized selector sent to instance 0x100301fd0'