国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - iOS 對象屬性詳細介紹

iOS 對象屬性詳細介紹

2021-02-07 18:53iOS開發網 IOS

這篇文章主要介紹了iOS 對象屬性詳細介紹的相關資料,這里整理了IOS 對象的相關資料,需要的朋友可以參考下

iOS 對象屬性

oc對象的一些屬性:

retain,strong, copy,weak,assign,readonly, readwrite, unsafe_unretained

下面來分別講講各自的作用和區別:

retain,計數器加1, (增加一個指向內存的指針) 對應release(計數器-1) setter 方法對參數進行 release 舊值再 retain 新值,所有實現都是這個順序

?
1
2
3
4
5
6
7
8
9
10
11
- (void)setBackView:(UIView *)backView {
 
  if (_backView != backView) {
 
    [_backView release];
 
    _backView = [backView retain];
  }
 
  return _backView;
}

copy, 拷貝,新開地址,內容拷貝, setter 方法進行 Copy 操作,與 retain 處理流程一樣,先舊值 release ,再 Copy 出新的對象, retainCount 為 1 。這是為了減少對上下文的依賴而引入的機制。

(提一點深拷貝shallow copy,淺拷貝deep copy)

這篇文章比較直觀(http://blog.csdn.net/omegayy/article/details/7311839)

官方文檔(https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Collections/Articles/Copying.html)

copy和mutableCopy調用后表現的行為到底是什么樣完成取決于類本身NSCopying和NSMutableCopying協議是如何實現的。

 strong, 強引用,計數器加1,和retain一樣(對應retain和copy)

weak,弱引用

?
1
2
3
4
5
6
7
8
9
10
strong 用來修飾強引用的屬性;
 
@property (strong) SomeClass * aObject;
對應原來的
@property (retain) SomeClass * aObject; 和 @property (copy) SomeClass * aObject;
 
weak 用來修飾弱引用的屬性;
@property (weak) SomeClass * aObject;
對應原來的
@property (assign) SomeClass * aObject;

__weak, __strong 用來修飾變量,此外還有 __unsafe_unretained, __autoreleasing 都是用來修飾變量的。
__strong 是缺省的關鍵詞。
__weak 聲明了一個可以自動 nil 化的弱引用。
__unsafe_unretained 聲明一個弱應用,但是不會自動nil化,也就是說,如果所指向的內存區域被釋放了,這個指針就是一個野指針了。
__autoreleasing 用來修飾一個函數的參數,這個參數會在函數返回的時候被自動釋放。

strong和weak的區別

(weak和strong)不同的是 當一個對象不再有strong類型的指針指向它的時候 它會被釋放  ,即使還有weak型指針指向它。

一旦最后一個strong型指針離去 ,這個對象將被釋放,所有剩余的weak型指針都將被清除。

可能有個例子形容是妥當的。

想象我們的對象是一條狗,狗想要跑掉(被釋放)。

strong型指針就像是栓住的狗。只要你用牽繩掛住狗,狗就不會跑掉。如果有5個人牽著一條狗(5個strong型指針指向1個對象),除非5個牽繩都脫落 ,否著狗是不會跑掉的。

weak型指針就像是一個小孩指著狗喊到:“看!一只狗在那” 只要狗一直被栓著,小孩就能看到狗,(weak指針)會一直指向它。只要狗的牽繩脫落,狗就會跑掉,不管有多少小孩在看著它。

只要最后一個strong型指針不再指向對象,那么對象就會被釋放,同時所有的weak型指針都將會被清除。

assign,用于簡單類型,計數器不加,直接賦值,一個指針,一塊地址, setter 方法直接賦值,不進行任何 retain 操作,為了解決原類型與環循引用問題

readonly,只讀,只生成get方法,沒有set方法

readwrite,默認,可讀寫,set,get方法都會生成

unsafe_unretained,類似weak,所謂的unSafe就是指會容易出現也指針的情況,慎用

setter = xxxx,聲明對象的set方法

getter = xxxx, 聲明對象的get方法

nonatomic,非原子操作,系統不添加代碼,運行速度相對快,但數據操作在多線程情況下相對不安全

atomic,原子操作,編譯時會增加很多加鎖解鎖代碼,數據操作在多線程情況下相對安全

* 使用assign: 對基礎數據類型 (NSInteger)和C數據類型(int, float, double, char,等)
* 使用copy: 對NSString
* 使用retain: 對其他NSObject和其子類

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

延伸 · 閱讀

精彩推薦
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
主站蜘蛛池模板: 黑人精品| 亚洲 欧美 日韩在线 | 亚洲视频在线观看中文字幕 | 99亚洲精品| 久久蜜桃精品一区二区三区综合网 | 久久美女视频 | 在线免费观看中文字幕 | 久久国产精品免费一区二区三区 | 国产伦精品一区二区三区 | 久久久久无码国产精品一区 | 久久人人爽人人爽人人片av不 | 国产精品久久久久久久久久久久 | 欧美午夜精品久久久久久浪潮 | 欧美高清视频在线观看 | 中文字幕一区二区三区乱码在线 | 久久久激情 | 亚洲一区二区国产 | 欧美日韩一| 国产一极片 | 奇米在线 | 日本一区二区在线免费 | 日本久久影视 | 欧美综合在线一区 | 亚洲一区二区 | jizzhd中国| 91一区二区三区 | 欧美日本一区二区三区 | 欧美一级看片a免费观看 | 午夜精品久久久久久久久久久久 | 国产9色在线 | 日韩 | 精品国产欧美一区二区三区成人 | 亚洲国产精品久久久久婷婷老年 | 黄a在线观看 | 高清久久| 成人在线视频免费观看 | 中文字幕一区二区三区乱码在线 | 国产成人综合一区二区三区 | 在线视频一区二区三区 | 久久免费视频3 | 日韩高清一区二区 | 日日操视频 |