真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在IOS中使用property屬性

本篇文章為大家展示了如何在IOS中使用property屬性,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站營銷推廣,域名申請,虛擬空間,網(wǎng)站改版維護(hù)有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請聯(lián)系創(chuàng)新互聯(lián)公司

IOS property屬性

原子性

  • atomic

  • nonatomic

訪問權(quán)限

  • readWrite

  • readOnly

內(nèi)存管理

  • strong

  • retain

  • copy

  • assign

  • weak

  • unsafe_unretained

方法命名

  • getter =

  • setter =

結(jié)論

1、原子性

     (1)atomic

               原子性,可以理解成就是生成getter、setter方法時,編譯器會自動為程序添加同步鎖,減少因為在不同的線程中同時對同一個內(nèi)存地址進(jìn)行讀寫操作,而產(chǎn)生的二意性、數(shù)據(jù)混亂的情況。

               但同步鎖也不能一定保證能完全阻止同時讀寫的情況發(fā)生,而且同步鎖會耗費(fèi)較多資源,降低程序的效率,因此不建議使用,但atomic是默認(rèn)的特性。

     (2)nonatomic

               非原子性,也就是不添加同步鎖,讀寫效率會高,但需要開發(fā)人員注意同時讀寫的情況,可以使用gcd的欄柵和同步方法來保證。

2、訪問權(quán)限

     (1)readWrite

               生成getter、setter方法,并生成實例變量指針,但對于靜態(tài)庫類是無法修改的,所以即使能進(jìn)入頭文件也無法修改。

     (2)readOnly

               只生成getter方法,可以用于數(shù)據(jù)保護(hù),在interface中把屬性聲明了readOnly,在continue-class中再把屬性聲明為readWrite,就能實現(xiàn)私有屬性的效果,從而有更好的封裝特性,但其實通過KVC

               依然可以從外部修改屬性,但不建議這樣使用。

3、內(nèi)存管理

     (1)strong:strong是推出ARC自動計數(shù)后后添加的屬性,效果與retain基本一致,都是在setter方法中,對舊數(shù)值release,對新數(shù)值retain。
     (2)retain與strong基本一致
     (3)assign:簡單賦值操作,通常針對普通類型,既不release,也不retain
     (4)copy:能更好實現(xiàn)上下文環(huán)境保護(hù)。對舊值release,對新值進(jìn)行copy操作,immutable+copy = 不可變淺復(fù)制,mutable+copy = 不可變深復(fù)制。
     (5)weak:weak特性,并不會持有對象,當(dāng)指向?qū)ο蟮闹羔樔蜂N后,對象釋放,指針置nil,這常用于block的保留環(huán)
     (6)unsafe_unretained:不會持有對象,但引用對象,對象釋放后,會產(chǎn)生野指針,主要用于兼容以前的方法。

4、方法命名

     (1)getter =

                屬性生成的默認(rèn)getter方法名:屬性名

     (2)setter =

               屬性生成的默認(rèn)getter方法名:set+屬性名

上述內(nèi)容就是如何在IOS中使用property屬性,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


標(biāo)題名稱:如何在IOS中使用property屬性
鏈接地址:http://weahome.cn/article/pecchh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部