最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IOS property屬性詳細介紹使用注意事項

 更新時間:2017年02月28日 17:13:31   投稿:lqh  
這篇文章主要介紹了IOS property屬性詳細介紹使用注意事項的相關(guān)資料,需要的朋友可以參考下

IOS property屬性

原子性

  • atomic
  • nonatomic

訪問權(quán)限

  • readWrite
  • readOnly

內(nèi)存管理

  • strong
  • retain
  • copy
  • assign
  • weak
  • unsafe_unretained

方法命名

  • getter = <name>
  • setter = <name>

結(jié)論

1、原子性

     (1)atomic

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

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

     (2)nonatomic

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

2、訪問權(quán)限

     (1)readWrite

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

     (2)readOnly

               只生成getter方法,可以用于數(shù)據(jù)保護,在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)境保護。對舊值release,對新值進行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 = <name>

                屬性生成的默認getter方法名:屬性名

     (2)setter = <name>

               屬性生成的默認getter方法名:set+屬性名

5、結(jié)論

     屬性不是隨便填寫的,需要嚴格根據(jù)該屬性在程序中的作用,再選擇。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • iOS 獲取公歷、農(nóng)歷日期的年月日的實例代碼

    iOS 獲取公歷、農(nóng)歷日期的年月日的實例代碼

    本篇文章主要介紹了iOS 獲取公歷、農(nóng)歷日期的年月日的實例代碼,主要介紹了三種方法,具有一定的參考價值,有興趣的可以了解一下。
    2017-02-02
  • iOS實現(xiàn)步驟進度條功能實例代碼

    iOS實現(xiàn)步驟進度條功能實例代碼

    這篇文章主要給大家介紹了關(guān)于iOS實現(xiàn)步驟進度條功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • IOS入門筆記之地理位置定位系統(tǒng)

    IOS入門筆記之地理位置定位系統(tǒng)

    關(guān)于地理位置及定位系統(tǒng),在iOS開發(fā)中也比較常見,接下來通過本文給大家介紹IOS入門筆記之地理位置定位系統(tǒng),對ios地理位置定位系統(tǒng)感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • iOS中使用schema協(xié)議調(diào)用APP和使用iframe打開APP的例子

    iOS中使用schema協(xié)議調(diào)用APP和使用iframe打開APP的例子

    這篇文章主要介紹了iOS中使用schema協(xié)議調(diào)用APP和使用iframe打開APP的例子,用在瀏覽器中打開APP,需要的朋友可以參考下
    2014-08-08
  • iOS中關(guān)于模塊化開發(fā)解決方案(純干貨)

    iOS中關(guān)于模塊化開發(fā)解決方案(純干貨)

    這篇文章主要介紹了iOS中關(guān)于模塊化開發(fā)解決方案(純干貨)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • iOS?項目嵌入Flutter?運行(最新推薦)

    iOS?項目嵌入Flutter?運行(最新推薦)

    這篇文章主要介紹了iOS?項目嵌入Flutter?運行,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • iOS身份證號碼識別示例

    iOS身份證號碼識別示例

    本篇文章主要介紹了iOS身份證號碼識別示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • iOS實現(xiàn)視頻和圖片的上傳思路

    iOS實現(xiàn)視頻和圖片的上傳思路

    這篇文章主要介紹了iOS實現(xiàn)視頻和圖片的上傳思路,本文分步驟給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • iOS自定義UICollectionViewFlowLayout實現(xiàn)圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現(xiàn)圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現(xiàn)圖片瀏覽效果的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • iOS自定義字體顯示問題的完美解決方法

    iOS自定義字體顯示問題的完美解決方法

    這篇文章主要給大家介紹了關(guān)于iOS自定義字體出問題的完美解決方法,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評論

大连市| 丰台区| 金平| 阿拉善左旗| 大洼县| 新河县| 淳化县| 鹤壁市| 广州市| 贵港市| 时尚| 南丰县| 玉树县| 洮南市| 孟州市| 墨玉县| 高唐县| 平果县| 上栗县| 应城市| 北海市| 峨眉山市| 余庆县| 聂荣县| 呼图壁县| 牙克石市| 苍山县| 沙洋县| 阿荣旗| 宝鸡市| 福州市| 甘南县| 宁远县| 河南省| 宁陵县| 调兵山市| 济阳县| 鄄城县| 清水县| 保定市| 普宁市|