標籤:objective-c ios ios開發
Part 1. 執行個體變數和屬性
- 目前的趨勢是使用(_)作為執行個體變數名字的起始字元。
- 在實現部分顯式聲明執行個體變數是私人的
- 因此不能在子類中通過名字直接擷取到執行個體變數的值。
- 在子類中只能通過繼承的存取方法擷取執行個體變數的值。
- 不必用
@synthesize
指令產生存取方法,只要在屬性中聲明即可。
Part 2. 全域變數
- 小寫g作為全域變數的首字母:
int gMoveNumber = 1;
,也是外部變數。
- 外部變數:被其他任何方法或函數訪問和更改值的變數
- 訪問:加上關鍵字
extern
:extern int gMoveNumber;
- 加上
extern
是對變數的聲明,而不是定義。聲明不會引起變數儲存空間分配,而定義會。
- 如果很多方法訪問全域變數,那麼在檔案開始進行一次
extern
- 只有少數訪問的話,最好在每個方法內部單獨進行
extern
聲明
Part 3. 靜態變數
- 定義成全域變數,但不是外部變數:除了特定類中的方法之外,再沒有其他方法需要訪問這個特定的變數:
static int gGlobalVar = 0;
:位於這條語句之後的方法或函數都可以訪問gGlobalVar的值,而其他檔案中的方法和函數都不行。
Part 4. 列舉資料型別
- 枚舉類型:提供了一種方法,能將整數值和有象徵意義的名稱對應起來。
- 若需要更改這個整數的值,只能在定義枚舉的地方改。
- 例子:
enum direction {up, down, left = 10, right};
- 元素序列的增加,整數值+1,以此類推。
Part 5. typedef語句
typedef:改變資料類型的名稱
typedef int Counter;Counter j,n;
- 增加了變數定義的可讀性,清晰地看出這些變數在程式中的使用目的。
Part 6. 資料類型轉換
不同類型的資料類型運算:
- 如果其中一個運算元是
long double
,double
,float
型,結果也是long double
,double
,float
型。
- 如果其中一個運算元是Bool,char,short int, bit field或枚舉類型,則全部轉換為int型。
- 如果其中一個運算元是
long long int
, long int
型,另一個運算元轉換為long long int
, long int
型,則結果也是long long int
, long int
型。
- 兩個運算元均為
int
型,則結果也是int
型。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
[學習筆記—Objective-C]《Objective-C 程式設計 第6版》第十章 變數和資料類型