成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解Objective-C中變量和數(shù)據(jù)類型

移動開發(fā) iOS
本文主要介紹Objective-C中的變量和數(shù)據(jù)類型,詳細(xì)的介紹了變量的用法和數(shù)據(jù)類型的一個集合文檔,先來看本文內(nèi)容。

Objective-C變量數(shù)據(jù)類型是本文要介紹的內(nèi)容,很詳細(xì)的從類的初始化、作用域回顧(變量的一些內(nèi)容)、數(shù)據(jù)類型的匯總等來講述內(nèi)容,本文認(rèn)為本文非常適合初學(xué)者來參考,我們先來看詳細(xì)內(nèi)容詳解。

一、類的初始化

編寫初始化時,遵循兩個策略:如果你的類包含多個初始化方法,其中一個就應(yīng)該是指定的(desigrated)初始化方法,并且其他所有初始化方法都應(yīng)該使用這個方法。通常,它是最復(fù)雜的初始化方法(一般是參數(shù)最多的初始化方法)。通過創(chuàng)建指定的初始化方法,可以把大部分初始化代碼集中到單個方法中。然后,任何人要想從該類派生子類,就可以重載這個指定的初始化方法,以便保證正確地初始化新實例。

二、作用域回顧

1、控制實例變量作用域的指令

在接口部分聲明實例變量時,可以指一下三個指令放在實例變量之前,以便更精確地控制類作用域

(1)protected——這個指令后面的實例變量可被該類及任何子類中定義的方法直接訪問。默認(rèn)。

(2)private——這個指令后面的實例變量可被定義在該類的方法直接訪問,但是不能被子類中定義的方法直接訪問。

(3)public——這個指令后面的實例變量可被該類中定義的方法直接訪問,也可被其他類或模塊中定義的方法直接訪問。

(4)package——對于64位圖像,可以在實現(xiàn)該類的圖像的任何地方訪問這個實例變量。

如:

  1. @interface Printer:NSObject  
  2.           {  
  3.                @private  
  4.                     int pageCount;  
  5.                     int tonerlevel;       //任何從Printer派生子類的人都無法訪問它  
  6.                @protected  
  7.                     //other instance variables     //可被子類訪問,可被Printer類訪問  
  8.           }  
  9.           ……  
  10.           @end 

@public指令使得其他方法或函數(shù)可以通過使用指針運算符(->)訪問實例變量。

2、外部變量

如果在程序的開始處(所以方法、類定義和函數(shù)定義之外)編寫的變量語句,那么這個模塊中的任何位置都可以引用這個變量的值。——全局變量:慣例,用小寫g作為全局變量首字母;外部變量。如:int fMoveNumber;

外部變量是可被其他任何方法或函數(shù)訪問和更改其值的變量,在需要訪問外部變量模塊中,變量聲明和普通方式一樣,只需加上extern。要告知系統(tǒng)訪問其他文件中定義的全局變量。如:extern int gMoveNumber;

3、靜態(tài)變量

除了特定類中的方法,再沒有其他方法需要訪問這個特定變量。可以在包含這個特定類的實現(xiàn)的文件中將該變量定義為static。如:static int gGlobalVar = 0;

三、存儲類說明符

1、auto

聲明一個自動局部變量。函數(shù)或方法內(nèi)部變量的默認(rèn)聲明方式。如:auto int index;——int index;

靜態(tài)變量有默認(rèn)初始值0,自動變量沒有。

2、const

對程序中值不變的變量設(shè)置const特性,不可更改其值,必須初始化。如:const double pi = 3.141592654;

3、volatile

指定類型變量的值會改變(與const相反)。為了防止編譯器優(yōu)化掉看似多余的變量賦值,同時避免重復(fù)地檢查值沒有變化的變量。如:

  1. volatile char *outPort;      
  2. *outPort = '0';     
  3. *outPort = 'N'; 

防止第一個賦值語句從程序中刪除。

四、枚舉數(shù)據(jù)類型(enum)

將一系列值指派給一個變量。

enum  枚舉數(shù)據(jù)類型的名稱  標(biāo)識符序列(包含在一對花括號內(nèi))

如:

  1. enum flag{false,true};  
  2. enum flag endOfData,matchFound; 

可指派true、false給這兩個變量

如果希望一個枚舉標(biāo)識符對應(yīng)一個特定的整數(shù)值,那么可以在定義數(shù)據(jù)類型時給該標(biāo)識符指定整數(shù)值。在列表中一次出現(xiàn)的枚舉標(biāo)識符被指派了以特定整數(shù)值開始的序列數(shù)。

如:

  1. enum direction{up,down,left=10,right};  
  2. up=0,down=1,left=10,right=11 

枚舉標(biāo)識符可以共享相同的值。如:

  1. enum boolean{no=0,false=0,yes=1,true=1}; 

可以明確地給枚舉類型的變量指派一個整數(shù)值,使用類型轉(zhuǎn)換運算符。如:

  1. lastMonth=(enum month)(monthValue=-1); 

將枚舉當(dāng)做獨立的數(shù)據(jù)類型。

定義枚舉數(shù)據(jù)類型時,可以省略數(shù)據(jù)類型名稱,可以將變量聲明作為特定枚舉數(shù)據(jù)類型中的一個。如:enum {east,west,south,north} direction;

定義枚舉數(shù)據(jù)類型時,必須確保枚舉標(biāo)識符與定義在相同作用域內(nèi)的變量名和其他標(biāo)識符不同。

五、typedef語句

為數(shù)據(jù)類型另外指派一個名稱。如:typedef int Counter;——int=Counter

六、數(shù)據(jù)類型轉(zhuǎn)換

1、轉(zhuǎn)換規(guī)則

(1)一個操作數(shù)是long double型,則另一個操作數(shù)被轉(zhuǎn)換為long double型,計算結(jié)果也是。

(2)一個操作數(shù)是double型,則另一個操作數(shù)被轉(zhuǎn)換為double型,計算結(jié)果也是。

(3)一個操作數(shù)是float型,則另一個操作數(shù)被轉(zhuǎn)換為float型,計算結(jié)果也是。

(4)一個操作數(shù)是_Bool、char、short int、bit field或枚舉數(shù)據(jù)類型,則全部轉(zhuǎn)為int型。

(5)一個操作數(shù)是long long int型,則另一操作數(shù)轉(zhuǎn)化為long long int型,計算結(jié)果也是這種類型。

(6)一個操作數(shù)是long int型,則另一操作數(shù)轉(zhuǎn)換為long int型,計算結(jié)果也是這種類型。

(7)均為int型,計算結(jié)果也是。

2、符號擴(kuò)展

只要將有符號int或short int轉(zhuǎn)換成更多字節(jié)的整數(shù),在執(zhí)行轉(zhuǎn)換的過程中符號位就會擴(kuò)展至左側(cè)。

一些計算機上,字符是作為有符號的量處理的。將字符轉(zhuǎn)換為整數(shù)時,會發(fā)生符號擴(kuò)展。

小結(jié):詳解Objective-C變量數(shù)據(jù)類型的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 網(wǎng)絡(luò)轉(zhuǎn)載
相關(guān)推薦

2011-08-04 15:14:39

Objective-C 數(shù)據(jù)類型

2011-08-10 17:16:01

Objective-C靜態(tài)變量

2011-07-19 13:49:19

Objective-C 數(shù)據(jù)類型

2022-03-01 23:31:29

Python編程語言變量

2011-07-08 18:44:09

Objective-C Self Super

2011-07-29 16:16:30

Objective-c block

2011-08-17 10:58:59

Objective-C構(gòu)造函數(shù)

2011-07-06 11:19:45

Objective-C

2015-10-08 10:01:10

Objective-CLayout

2011-07-18 16:36:51

Objective-C XCode

2014-04-01 10:50:42

iOS開發(fā)runtimeObjective-C

2023-10-17 07:57:56

Python數(shù)據(jù)類型

2024-01-12 09:00:22

Swift常量數(shù)據(jù)類型

2011-08-17 10:29:39

Objective-C預(yù)處理

2011-07-27 16:55:12

Objective-c 閉包

2011-08-01 17:11:43

Objective-C 函數(shù)

2011-08-15 14:32:42

Objective-C委托協(xié)議

2014-04-28 09:56:56

Objective-CiOS命名空間

2011-08-17 11:05:22

Objective-C方法

2011-08-04 13:38:01

Objective-C C++
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91久久伊人 | 久国久产久精永久网页 | 欧美1级 | 国产日韩久久 | 久久国产婷婷国产香蕉 | 91不卡在线 | av官网在线 | 久久高清 | 久久精品成人 | 97精品一区二区 | 欧美日韩国产一区二区 | 9久久| 国产 日韩 欧美 制服 另类 | 在线观看亚洲专区 | 欧美不卡一区二区三区 | 精品欧美一区二区三区久久久小说 | av在线三级 | 久久精品视频一区二区 | 福利视频一区二区 | 91视频网 | 天天色综网| h视频在线免费 | 国产精品一区在线观看你懂的 | 久久久做 | 国产a区 | 久久久久久久综合 | 国产精品视频免费观看 | 欧美一级在线免费观看 | 人人看人人草 | av中文字幕网站 | 日日夜夜精品 | 久久久精品视频一区二区三区 | 国产99久久精品一区二区300 | 久久99深爱久久99精品 | h视频在线观看免费 | 日韩欧美视频 | www国产亚洲精品 | 色综合视频 | 视频一区在线 | 欧美日韩精品一区二区 | 久久久久久久久91 |