Xcode8和swift3更新后的注意事項(xiàng)

private和fileprivate

自動(dòng)轉(zhuǎn)換代碼以后把我大部分(不知道是不是全部唠梨,沒統(tǒng)計(jì))private都改成了fileprivate。本來(lái)不用private也不會(huì)對(duì)程序的編譯運(yùn)行有任何影響港准,private只是為了保證代碼外部可讀性而準(zhǔn)備的限次,而現(xiàn)在有了fileprivate以后氮昧,private變得更加“私有”⌒畛睿現(xiàn)在的private方法和對(duì)象胯盯,只能在大括號(hào)中訪問缝彬,即便是這個(gè)類的extension中届囚,也不能訪問private讨勤。而fileprivate的作用域蚌父,則和以前的private一樣依啰,顧名思義油狂,在這個(gè)文件中都能訪問站超。

NSData和Data

Data是swift的產(chǎn)物斤程,和Array角寸,Dictionary,Set等類似忿墅。NSData的初始化是NSData(XXX)扁藕,而Data用起來(lái)更方便,在需要獲取數(shù)據(jù)的對(duì)象后面加上.data疚脐,即可獲得數(shù)據(jù)亿柑,方便是方便,老代碼的修改就比較麻煩了棍弄。

NSURLSession和URLSession

URLRequest終于把煩人的Mutable去掉了望薄,那些強(qiáng)迫癥不用再因?yàn)?code>let xxx = NSMutableXXX是可變的而糾結(jié)了。

Any和AnyObject

現(xiàn)在Any貌似可以和AnyObject互相轉(zhuǎn)換了呼畸,以前Any對(duì)應(yīng)struct而AnyObject對(duì)應(yīng)class痕支,一些不太復(fù)雜的模型用struct編寫,和某些方法(參數(shù)需要傳AnyObject或者class類型的數(shù)據(jù))兼容性不好蛮原,不得不改為用class編寫卧须,這就不符合struct設(shè)計(jì)的初衷了。

閉包的escaping和non-escaping類型

這個(gè)類型決定了閉包是否在調(diào)用他的函數(shù)(或其他)返回時(shí)就銷毀(儒陨?)花嘶,escaping是不銷毀的意思,non-escaping是保留的意思框全。一般在網(wǎng)絡(luò)方法中察绷,閉包一般在其他線程中執(zhí)行干签,并且在函數(shù)返回時(shí)還沒有執(zhí)行完畢津辩,這里種情況應(yīng)該使用escaping類型。使用方法是在閉包前面加@escaping。反之同理喘沿。
那么為什么在swift2之前都不需要加呢闸度,因?yàn)閟wift2之前默認(rèn)都是escaping類型,而swift3以后默認(rèn)是non-escaping蚜印。在合理的情況下莺禁,使用non-escaping類型的閉包更節(jié)省內(nèi)存,而且窄赋,在閉包內(nèi)可以不用再加self關(guān)鍵字了哟冬。
參考文章

awakeFromNib方法中獲取frame

原來(lái)在xib文件中設(shè)置約束定寬高約束,在awakeFromNib方法中是可以直接獲取到view.frame.size的值的忆绰,現(xiàn)在可能因?yàn)閤ib文件中加入了多設(shè)備的尺寸設(shè)置浩峡,已經(jīng)不能再獲取size了。原來(lái)frame還跟xib的實(shí)際大小有關(guān)错敢,現(xiàn)在xib所有的布局都是相對(duì)的了翰灾,不能再過分依賴frame。順帶說(shuō)一下稚茅,現(xiàn)在如果直接獲取size纸淮,得到的是(1000.0, 1000.0)。

plist中的privacy key

在iOS舊版本中都會(huì)亚享,凡是涉及到隱私相關(guān)權(quán)限(例如錄音咽块、攝像之類的)的訪問,都會(huì)提示是否允許訪問虹蒋。在plist有一系列privacy - XXXDescription的key作為權(quán)限詢問提示的文字糜芳,舊版iOS中這些是選填的,iOS10里面如果沒有填寫又訪問了相關(guān)權(quán)限魄衅,程序會(huì)崩潰峭竣。

形如"\(XXX)"在字符串中引用其他對(duì)象

在之前的版本中,只有當(dāng)XXX的類型是optional?晃虫,打印結(jié)果才會(huì)帶有"optional"皆撩,例如:

var XXX: Int? = 1
print("XXX的結(jié)果為:\(XXX))  //XXX的結(jié)果為:optional(1)

但如果XXX類型為optional!,就不會(huì)打印"optional"哲银。
在新版本中扛吞,無(wú)論類型為!還是?,打印結(jié)果都會(huì)帶有optional荆责,可以在打印時(shí)加上!滥比,或者聲明時(shí)不要聲明為optional解決。例如:

//錯(cuò)誤示范:
var XXX: Int! = 1
print("XXX的結(jié)果為:\(XXX))  //XXX的結(jié)果為:optional(1)
//正確示范:
var XXX: Int! = 1
print("XXX的結(jié)果為:\(XXX!))  //XXX的結(jié)果為:1
//或者
var XXX: Int = 1
print("XXX的結(jié)果為:\(XXX))  //XXX的結(jié)果為:1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末做院,一起剝皮案震驚了整個(gè)濱河市盲泛,隨后出現(xiàn)的幾起案子濒持,更是在濱河造成了極大的恐慌,老刑警劉巖寺滚,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柑营,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡村视,警方通過查閱死者的電腦和手機(jī)官套,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蚁孔,“玉大人奶赔,你說(shuō)我怎么就攤上這事「芮猓” “怎么了纺阔?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)修然。 經(jīng)常有香客問我笛钝,道長(zhǎng),這世上最難降的妖魔是什么愕宋? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任玻靡,我火速辦了婚禮,結(jié)果婚禮上中贝,老公的妹妹穿的比我還像新娘囤捻。我一直安慰自己,他們只是感情好邻寿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布蝎土。 她就那樣靜靜地躺著,像睡著了一般绣否。 火紅的嫁衣襯著肌膚如雪誊涯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天蒜撮,我揣著相機(jī)與錄音暴构,去河邊找鬼。 笑死段磨,一個(gè)胖子當(dāng)著我的面吹牛取逾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播苹支,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼砾隅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了债蜜?” 一聲冷哼從身側(cè)響起晴埂,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤堕绩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后邑时,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡特姐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年晶丘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片唐含。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浅浮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出捷枯,到底是詐尸還是另有隱情滚秩,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布淮捆,位于F島的核電站郁油,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏攀痊。R本人自食惡果不足惜桐腌,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苟径。 院中可真熱鬧案站,春花似錦、人聲如沸棘街。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遭殉。三九已至石挂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間险污,已是汗流浹背誊稚。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留罗心,地道東北人里伯。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像渤闷,于是被迫代替她去往敵國(guó)和親疾瓮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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