ios基礎-小知識點收集(1)

來源:互聯網
上載者:User

ios基礎-小知識點收集(1)

不積跬步,無以至千裡;不積小流,無以成江海。----荀子

收集學習ios中的小知識點,每天進步一點點。

(一)@class和 #import

class:只聲明類,不會引入類檔案,加快編譯速度,防止類相互import出錯;在m中仍然需要import整個類檔案。

import匯入整個類檔案,在需要使用類中的變數、函數和協議的時候需要使用。


(二)靜態變數static、全域變數extern、局部變數、執行個體變數

static:為整類而非單個對象使用,隱藏封裝在類中,對外不可見。

靜態變數的優點:1、節省記憶體。靜態變數只儲存一處,但供所有對象使用。2、它的值是可以更新的。3、可提高時間效率。只要某個對象對靜態變數更新一次,所有的對象都能訪問更新後的值。

extern:在方法外部定義的變數,範圍是整個來源程式。全域變數不能在多個m檔案中定義。

局部變數:在方法中定義的變數,範圍是方法內。

執行個體變數:在類檔案方法外定義


(三)NSArray和NSMutableArray

首先,NSArray只能儲存Objective-C 對象,而不能儲存C語言中的基礎資料型別 (Elementary Data Type),比如:int,flot,指標等。 在使用NSArray時,需特別注意,必須以nil 結尾,以此來代表結束。

NSArray 建立的是靜態數組,一旦建立之後,就再也不能添加和刪除數組中的對象了,只能替換。

NSMutalbeArray 建立的是動態數組,可隨意添加或刪除數組中的元素。


(四)bool、BOOL和Boolean的區別

在objc.h檔案中如下定義

typedef signed char     BOOL; // BOOL is explicitly signed so @encode(BOOL) == "c" rather than "C" // even if -funsigned-char is used.#define OBJC_BOOL_DEFINED#define YES             (BOOL)1#define NO              (BOOL)0

BOOL是個signed char類型,Boolean是unsigned char類型,bool是個整型。在oc架構中都是用BOOL,其他大部分地方是用bool。oc編程中常用BOOL。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.