iOS 局部變量 全局變量 成員變量

一.成員變量 : 寫在類聲明的大括號(hào)中的變量叫成員變量 (也叫屬性/實(shí)例變量)

成員變量不可離開(kāi)類 離開(kāi)了類就不是成員變量

成員變量不能再定義的同事初始化

成員量只能通過(guò)對(duì)象來(lái)訪問(wèn)

成員變量存儲(chǔ)在堆中(當(dāng)前對(duì)象對(duì)應(yīng)的堆得存儲(chǔ)空間中) 不會(huì)被系統(tǒng)自動(dòng)釋放 只能有程序員手動(dòng)釋放

二.局部變量 :寫在代碼塊或函數(shù)中的變量為局部變量

局部變量的作用域 : 從定義的那一行開(kāi)始,一直到遇到大括號(hào)或return(也就是這個(gè)變量所在的代碼塊或函數(shù)結(jié)束時(shí))

局部變量可以先定義后初始化,也可以在定義的同時(shí)就初始化

局部變量存儲(chǔ)在棧里面 系統(tǒng)會(huì)自動(dòng)釋放

三.全局變量 : 卸載函數(shù)外或大括號(hào)外的變量就是全局變量

全局變量的作用域 : 從定義哪行開(kāi)始 到文件末尾

全局變量可以向定義再初始化,也可以定義的同時(shí)初始化

全局變量存儲(chǔ)在靜態(tài)區(qū)中 程序啟動(dòng)時(shí)就會(huì)分配存儲(chǔ)空間 直到程序結(jié)束才會(huì)釋放

全局變量與全局靜態(tài)變量的區(qū)別:

(a)若程序由一個(gè)源文件構(gòu)成時(shí)乍炉,全局變量與全局靜態(tài)變量沒(méi)有區(qū)別绢片。

(b)若程序由多個(gè)源文件構(gòu)成時(shí)滤馍,全局變量與全局靜態(tài)變量不同:全局靜態(tài)變量使得該變量成為定義該變量的源文件所獨(dú)享,即:全局靜態(tài)變量對(duì)組成該程序的其它源文件是無(wú)效的底循。

(c)具有外部鏈接的靜態(tài)巢株;可以在所有源文件里調(diào)用;除了本文件熙涤,其他文件可以通過(guò)extern的方式引用阁苞;

靜態(tài)全局變量的作用:

(a)不必?fù)?dān)心其它源文件使用相同變量名,彼此相互獨(dú)立祠挫。

(b)在某源文件中定義的靜態(tài)全局變量不能被其他源文件使用或修改那槽。

(c) 只能在本文件中使用!具有內(nèi)部鏈接的靜態(tài)等舔;不允許在其他文件里調(diào)用骚灸;

接下來(lái),Xcode創(chuàng)建一個(gè)工程软瞎,并且創(chuàng)建一個(gè)繼承于UIView的MyView(為了驗(yàn)證在兩個(gè)不同的 .m 文件中全局變量和靜態(tài)全局變量的使用):

1 兩個(gè).m文件中同樣的全局

我的理解是:同一個(gè)工程中逢唤,兩個(gè)不同 .m 文件中同樣的全局變量不能同時(shí)存在,因?yàn)檫@樣在編譯或運(yùn)行的時(shí)候涤浇,編譯器分不清是哪個(gè)全局變量,所以我們千萬(wàn)不能同時(shí)在同一個(gè)工程中定義同樣的全局變量魔慷!

2 一個(gè).m文件使用另一個(gè).m文件中的全局變量

問(wèn)題來(lái)了只锭,如果我就是想用另一個(gè) .m 文件中的全局變量,那怎么處理呢院尔?很簡(jiǎn)單蜻展,使用關(guān)鍵字 extern 修飾使用的全局變量就好了,也即是在

import “ViewController.h”中:

//加上關(guān)鍵字extern邀摆,表示這里要使用到MyView中的全局變量

extern NSInteger CellHeight;

打印結(jié)果:0纵顾。因?yàn)楫?dāng)沒(méi)有初始化的時(shí)候系統(tǒng)默認(rèn):零。

注:如果在MyView中初始化了數(shù)據(jù)栋盹,比如NSInteger CellHeight = 100施逾;則打印結(jié)果就為100,但是在ViewController中就不能再次初始化@瘛:憾睢!否則編譯報(bào)錯(cuò)同上Uヌ馈H渌选!

3 靜態(tài)全局變量

顯然收壕,依舊報(bào)錯(cuò)妓灌!這是因?yàn)樵贛yView中是一個(gè)靜態(tài)全局變量轨蛤,盡管在ViewController使用了關(guān)鍵字extern想使用它,但還是不行的虫埂,靜態(tài)全局變量只能在本文件中使用祥山,不允許其他文件的調(diào)用!換句話說(shuō)我們可以在兩個(gè)不同的 .m 文件中定義同樣的靜態(tài)全局變量告丢,而互不干涉枪蘑、互不影響。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末岖免,一起剝皮案震驚了整個(gè)濱河市岳颇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颅湘,老刑警劉巖话侧,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異闯参,居然都是意外死亡瞻鹏,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門鹿寨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)新博,“玉大人,你說(shuō)我怎么就攤上這事脚草『涨模” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵馏慨,是天一觀的道長(zhǎng)埂淮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)写隶,這世上最難降的妖魔是什么倔撞? 我笑而不...
    開(kāi)封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮慕趴,結(jié)果婚禮上痪蝇,老公的妹妹穿的比我還像新娘。我一直安慰自己秩贰,他們只是感情好霹俺,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著毒费,像睡著了一般丙唧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上觅玻,一...
    開(kāi)封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天想际,我揣著相機(jī)與錄音培漏,去河邊找鬼。 笑死胡本,一個(gè)胖子當(dāng)著我的面吹牛牌柄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播侧甫,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼珊佣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了披粟?” 一聲冷哼從身側(cè)響起咒锻,我...
    開(kāi)封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎守屉,沒(méi)想到半個(gè)月后惑艇,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拇泛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年滨巴,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俺叭。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恭取,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出熄守,到底是詐尸還是另有隱情秽荤,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布柠横,位于F島的核電站,受9級(jí)特大地震影響课兄,放射性物質(zhì)發(fā)生泄漏牍氛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一烟阐、第九天 我趴在偏房一處隱蔽的房頂上張望搬俊。 院中可真熱鬧,春花似錦蜒茄、人聲如沸唉擂。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)玩祟。三九已至,卻和暖如春屿聋,著一層夾襖步出監(jiān)牢的瞬間空扎,已是汗流浹背藏鹊。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留转锈,地道東北人盘寡。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撮慨,于是被迫代替她去往敵國(guó)和親竿痰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容