iOS 局部變量BOOL未初始化時(shí),出現(xiàn)隨機(jī)值

最近做開屏廣告的一個(gè)功能,就是倒計(jì)時(shí)結(jié)束進(jìn)入主頁(yè)面,程序在模擬器和真機(jī)的時(shí)候都能正常進(jìn)入。但是打包出來,測(cè)試,倒計(jì)時(shí)后無法進(jìn)入主頁(yè)面,就卡在最后一秒了?。?!

后面查問題,原來打包出來的BOOL值變成隨機(jī)值了?。?!

1.jpeg
2.jpeg

因?yàn)楫?dāng)時(shí)沒給BOOL沒有初始化賦值,雖然程序在模擬器和真機(jī)運(yùn)行,isComplete = 0,但是打包出來,isComplete的值變成隨機(jī)值,原來在debug和release環(huán)境也是有區(qū)別的!

未賦值.jpg

這是為什么呢?

如果你聲明了一個(gè)變量但是沒有為它提供一個(gè)值,它就被認(rèn)為是“未初始化的”。C中一個(gè)未初始化的變量具有“未定義”值,通常是垃圾,包含最后一次寫入該地址時(shí)發(fā)生的任何事情。嚴(yán)格來說,“未定義”意味著你不應(yīng)該使用該值。

這個(gè)變量是本地的,每次運(yùn)行該方法時(shí)都會(huì)被重新創(chuàng)建,因此會(huì)得到一個(gè)新的實(shí)際值,但每次都是未定義值。

在ARC下,本地對(duì)象指針總是有一個(gè)默認(rèn)值nil,但是類似BOOL的非對(duì)象類型的局部變量仍然被初始化為垃圾,垃圾值就是未確定的值,即出現(xiàn)隨機(jī)值。

同理比如:int a。

總結(jié):養(yǎng)成好習(xí)慣給變量默認(rèn)值?。?!

BOOL isComplete = NO;

參考:
https://stackoverflow.com/questions/10022025/local-variables-set-to-nil-objective-c
https://stackoverflow.com/questions/9726817/can-variables-be-set-randomly-when-declaring-them-again/9726948#9726948
https://stackoverflow.com/questions/1597405/what-happens-to-a-declared-uninitialized-variable-in-c-does-it-have-a-value

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,203評(píng)論 8 265
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,527評(píng)論 19 139
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,626評(píng)論 1 32
  • 我認(rèn)真的談了兩個(gè)女朋友,認(rèn)真的說了兩次我愛你。 很多時(shí)候,我更喜歡說:我喜歡你。對(duì)我的女朋友也一樣,我沒有走來便說...
    蕭乙閱讀 351評(píng)論 0 0
  • 今天我要分享的內(nèi)容是關(guān)于切圖命名規(guī)則和標(biāo)注規(guī)范,從工作到現(xiàn)在開發(fā)過的項(xiàng)目大大小小也有十幾二十個(gè)了,但每次的設(shè)計(jì)師可...
    晨風(fēng)說產(chǎn)品閱讀 13,691評(píng)論 8 179

友情鏈接更多精彩內(nèi)容