天天看點

【Objective-C 篇】 ☞ 學前準備基礎知識

基礎知識

1. 前言

  Windows系統的可執行檔案的格式為: .exe

  Mac 系統的可執行檔案的格式可以是任意的

  OC語言是在C語言基礎之上進行了加強和擴充, OC語言相容所有的C語言文法,OC特有的東西一般就用自己的。

2. 系統類字首

  Cocoa中系統類字首NS=NEXTSTEP

3. 關鍵字

  大多數關鍵字都是以@開頭。

  

【Objective-C 篇】 ☞ 學前準備基礎知識

4. 運作過程

  1. 編寫OC源檔案:.m、.c
  2. 編譯:cc –c xxx.m xxx.c
  3. 連結:cc xxx.o xxx.o –framework Foundation(用到了Foundation架構需加上-framework Foundation)
  4. 運作:./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. 資料類型

    

【Objective-C 篇】 ☞ 學前準備基礎知識
  • OC中常用資料類型:

     

【Objective-C 篇】 ☞ 學前準備基礎知識
  • OC中Boolean(布林,true/false)類型和BOOL(布爾,YES/NO)類型都可以用作邏輯判斷!
  • SEL類型的作用:

    方法選擇器   @selector(方法名)

(1)配合對象(類)來檢查對象(類)中有沒有實作某一個方法

    

【Objective-C 篇】 ☞ 學前準備基礎知識

  respondsToSelector注意點:

  • 如果是通過一個對象來調用該方法那麼會判斷該對象有沒有實作-号開頭的方法
  • 如果是通過類來調用該方法, 那麼會判斷該類有沒有實作+号開頭的方法

(2)配合對象(類)來調用某一個SEL方法

     

【Objective-C 篇】 ☞ 學前準備基礎知識

(3)配合對象将SEL類型作為方法的形參,即 “@selector(方法名)” 可作為方法的參數(将一個方法作為另一個方法的參數傳入)

可以把一個對象的方法傳到另一個對象的方法中去執行。

7. OC中的for循環

    

【Objective-C 篇】 ☞ 學前準備基礎知識

8. OC中的異常捕捉方法

   @try …   @catch …  @finally

   

【Objective-C 篇】 ☞ 學前準備基礎知識

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)線上安裝

    

【Objective-C 篇】 ☞ 學前準備基礎知識

(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鍵,單擊要查詢的關鍵内容

      

【Objective-C 篇】 ☞ 學前準備基礎知識

    2》通過Quick Help查詢(輕按兩下選中要查詢的關鍵内容,再點選”問号“看快速文檔)

      

【Objective-C 篇】 ☞ 學前準備基礎知識

     3》在幫助文檔中直接搜尋

       

【Objective-C 篇】 ☞ 學前準備基礎知識

      

【Objective-C 篇】 ☞ 學前準備基礎知識

11. 自定義代碼塊(快捷方式)

    

【Objective-C 篇】 ☞ 學前準備基礎知識

  如何導入别人寫的快捷方式(代碼塊)?

     将代碼塊檔案直接拷貝到下面目錄中,然後重新開機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