weak和assign關鍵字有什麼不同
1、ARC中,在有可能出現迴圈引用的時候,往往要通過讓其中一端使用weak來解決,比如:delegate 的代理屬性。
2、自身已經對它有過一次強引用,所以沒有必要再強引用一次。這個時候也會使用weak;還有就是自定義IBOutlet控制元件屬性一般也使用weak,一般情況也可以使用strong。
那麼weak和assign有什麼不同呢?
1、weak的特質表明,該屬性定義了一種“非擁有關係” (nonowning relationship)。為這種屬性設定新值時,設定方法既不保留新值,也不釋放舊值。此特質同assign類似, 但是在屬性所指向的物件被摧毀時,屬性值也會清空(nil out)。 但是assign的“設定方法”只會執行鍼對“純量型別” (scalar type,例如 CGFloat 或 NSlnteger 等)的簡單賦值操作。
2)assigin可以用於非OC物件,但是weak必須用於OC物件。
相關推薦
weak和assign關鍵字有什麼不同
首先說說在什麼情況下使用 weak 關鍵字 1、ARC中,在有可能出現迴圈引用的時候,往往要通過讓其中一端使用weak來解決,比如:delegate 的代理屬性。 2、自身已經對它有過一次強引用,所以沒有必要再強引用一次。這個時候也會使用weak;還有就是自定義IBO
Swift中的weak和unowned關鍵字
Swift中沒有了strong, assign, copy關鍵字,對於所有的class型別變數都預設採用了strong型別,如果需要指定使用weak,則需要新增weak關鍵字修飾。 正是由於這種預設的
ReentrantLock和synchronized關鍵字有什麼區別
其實它們的區別很簡單,簡單的說,就是synchronized由於是底層JVM實現的互斥,因此效率會高一些。而ReentrantLock的功能則比synchronized更多,比如定時獲取某個鎖,多個等
iOS中delegate代理物件使用weak和assign哪個
之前不停應用的是assign,本日除錯一段程式碼的時間,發明順序會crash失落,報錯EXC_BAD_ACCESS 經由一番研討,發明若是應用 @property (nonatomic,
iOS開發之weak和assign的區別
共同點: 都可以修飾物件型別的property, 不會增加其引用計數. 不同點: 1.出現時期, assign出現在ARC之前, weak出現在ARC之後; 2.可修飾的型別, assign既可
java中如何使用空參構造方法自動生成不同名字的對象,使用非靜態的屬性和靜態屬性有什麽區別,原因是什麽?如何理解static關鍵字
區別 關鍵字 內部 方法 屬性 count per setname person 空參構造自動生成對象時,使用非靜態的屬性 代碼: package com.swift; //使用無參構造方法自動生成對象,序號不斷自增 public class Person { p
C++:用class和struct關鍵字定義類,有什麼不同?
實際上,我們可以使用 class 關鍵字和 struct 關鍵字中的任意一個定義類。 唯一的一點區別就是,struct 和 class 的預設訪問許可權不太一樣。 如果使用 struct 關鍵字,則定義在第一個訪問說明符之前的所有成員都預設是 public 的; 但如果
su 和 su - 命令有何不同
本質 tro shel 最大的 錯誤 path環境變量 命令 su - pwd su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而後者連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才
《區塊鏈100問》第13集:比特幣和Q幣有哪些不同?
htm finance 哪些 fin .cn 信任 分享圖片 比特 html 比特幣是一種去中心化的數字資產,沒有發行主體。Q幣是由騰訊公司發行的電子貨幣,類似於電子積分,其實不是貨幣。 Q幣需要有中心化的發行機構,Q幣因為騰訊公司的信用背書,才能被認可和使用。使用範
HTTP和HTTPS協議有什麽不同之處
不同之處 style AR 通過 詳細 transfer pos 萬維網 log 定義: HTTP(hypertext transfer protocol)是超文本傳輸協議,是一種用來詳細規定了瀏覽器和萬維網服務器之間互相通信的規則,通過因特網傳送萬維網文檔的
.NET Core和.NET Standard有什麽不同
cos 還需要 log http item lod 異常處理 req 一個 原文:.NET Core和.NET Standard有什麽不同 近日,微軟發布了.NET Core 2.0,但是開發
區塊鏈重塑萬億保險市場 它和普通保險有什麼不同?
繼餘額寶之後,支付寶上又產生了一個現象級爆款產品——相互保,不過幾天的時間,使用者量便突破了千萬。 細心的人可以發現,在支付寶相互保介紹介面的底層,有“相互保×螞蟻區塊鏈”字樣。沒錯,這一爆款產品背後還有區塊鏈技術加持。 此後,保險“牽手”區塊鏈的訊息不斷。10
CIO和CTO到底有什麼不同?
CIO和CTO是我們經常聽到的兩個名詞,只是現在國內經常是職稱亂叫一通,名義上是CIO卻做著CTO的工作,或是實際上是CTO卻又兼著CIO的工作,久而久之,新手就對這兩者的區分越來越模糊,所以本篇簡單略述一下。 從字面上來看CIO是Chief information officer,翻譯成資訊長
CentOS7和6版本有什麼不同
Centos7與6之間最大的差別就是初始化技術的不同,7採用的初始化技術是Systemd,並行的執行方式,除了這一點之外,服務啟動、開機啟動檔案、網路命令方面等等,都說6有所不同。讓我們先來了解一下系統初始化技術的演變過程。 1.系統初始化技術 Sysvinit技術、Upstart技
伺服器作為硬體,和普通PC有何不同?
伺服器作為硬體,和普通PC有何不同?伺服器作為硬體來說,通常是指那些具有較高計算能力,能夠提供給多個使用者使用的計算機。伺服器與PC機的不同點很多,例如PC機在一個時刻通常只為一個使用者服務。伺服器與主機不同,主機是通過終端給使用者使用的,伺服器是通過網路給客戶端使用者使用的。和普通的PC相比, 伺服器需要連
【問答集錦】Java工程師文化佈道者墨玖:Jsp執行和普通Java有什麼不同?
社群將持續介紹優秀的Java專家,本期請到了被譽為工程師文化佈道者墨玖,線上為開發者解決問題,向墨玖問請點選:https://yq.aliyun.com/promotion/755 墨玖,阿里影業-C端-技術專家 張濤,花名:墨玖;阿里影業-C端-技術專家,擅長解決的問題有
人工智慧和大資料有什麼相似之處和不同之處,之間有什麼共同點嗎?
大資料vs.人工智慧是一種公平的比較嗎?在某種程度上,它是,但首先讓我們先釐清它們之間的區別。 人工智慧和大資料是人們耳熟能詳的流行術語,但也可能會有一些混淆。人工智慧和大資料有什麼相似之處和不同之處?它們有什麼共同點嗎?它們是否相似?
馬雲:AI應該翻譯為機器智慧,機器和人有不同的智慧邏輯
9月17日,“2018世界人工智慧大會”在上海召開。會上,阿里巴巴董事局主席馬雲“金句”不斷,但整體而言,他認為,人工智慧將定義人們未來的生活方式,會帶來社會變革,但人們不需要擔憂人工智慧,而應該擁抱人工智慧,迎接新技術帶來的挑戰。 “未來資料將會是生產資料,計
J2Cache 和 JetCache 框架有何不同?
從軟體名稱看還有點像呢? 但這兩者完全不是一回事! JetCache 是阿里的一個基於 Java 的快取系統封裝,提供統一的 API 和註解來簡化快取的使用。也就是說這個專案主要的目的是為了讓所有的快取框架通過 JetCache 實現統一的介面呼叫,讓你不需要關心底層快取的 API 細節。這是設計模式層面上
關於螢幕適配 有不同解析度的圖片 和 字型大小
首先 新建兩個資料夾 一個是大解析度的格式 一個是小的 例如:values-720x1080 和 values-480x800 //新建出來的 資料夾在哪找? //就能發現你的資料夾 //然後兩個不同的解析度 每一個解析度裡都有一個xml檔案,這裡展示一個字型大小的檔案 大解析度