Objective C中的static用法

2021-06-29 00:03:49 字數 349 閱讀 8569

objective-c中的static變數表示的是類變數,僅初始化並儲存一次,該類的所有例項共享該變數。

一般都定義在.m檔案中,函式體之中或函式體之外。定義在函式體之中的static變數(區域性靜態變數),其作用域就是所在的函式體,即僅在所在函式體內可用。定義在函式體之外的static變數(全域性靜態變數),可以被所在類的所有方法訪問。但是這兩種方式定義的static變數都不可被其他類直接訪問。

如果.m檔案和方法體中同時定義了相同名字的static變數,即類中定義了相同變數名的全域性靜態變數和區域性靜態變數,那麼方法體裡面的區域性static變數和全域性的static變數不會衝突,在方法體內部訪問的是區域性static變數,和全域性的static變數是不同的。

Objective C中的快取

nscache可以設定數量限制,通過countlimit與 totalcostlimit來限制cache的數量或者限制cost。當快取的數量超過countlimit,或者cost之和超過totalcostlimit,nscache會自動釋放部分快取。例子如下 可以看到,cache中只保留了最新的30...

Objective C中的callback之一

oc中的callback有四種型別 下面是第一種 nsrunloop bnrlogger.h tocrunloopa import inte ce bnrlogger nsobject property nonatomic nsdate lasttime nsstring lasttimerstri...

Objective C中的繼承

1.父類自身也可以有父類,沒有父類的類位於類層次的最頂層,稱為根類 父類也可以被稱為超類 2.繼承中,父類的非私有例項變數和方法都會成為新類定義的一部分。子類可以直接訪問這些方法和例項變數,就像在類定義中直接定義了這些子類一樣。注意 在子類使用例項變數,必須在介面部分宣告,而不是在實現部分宣告。在實...