基礎知識
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中常用資料類型:
- OC中Boolean(布林,true/false)類型和BOOL(布爾,YES/NO)類型都可以用作邏輯判斷!
- SEL類型的作用:
方法選擇器 @selector(方法名)
(1)配合對象(類)來檢查對象(類)中有沒有實作某一個方法
respondsToSelector注意點:
- 如果是通過一個對象來調用該方法那麼會判斷該對象有沒有實作-号開頭的方法
- 如果是通過類來調用該方法, 那麼會判斷該類有沒有實作+号開頭的方法
(2)配合對象(類)來調用某一個SEL方法
(3)配合對象将SEL類型作為方法的形參,即 “@selector(方法名)” 可作為方法的參數(将一個方法作為另一個方法的參數傳入)
可以把一個對象的方法傳到另一個對象的方法中去執行。
7. OC中的for循環
8. OC中的異常捕捉方法
@try … @catch … @finally
9. 修改項目模闆
- 修改項目模闆及main函數中的内容:
/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project\ Templates/Mac/Application/Command\ Line\ Tool.xctemplate/TemplateInfo.plist
- 修改OC檔案頭部的描述資訊:
/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'
轉載于:https://www.cnblogs.com/bossren/p/6424850.html