91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

weakself的一種寫法

發布時間:2020-07-02 17:38:04 來源:網絡 閱讀:720 作者:Im劉亞芳 欄目:開發技術

前言

在不久前看AFNetworking的源碼時候發現了這么一句:

// 不知道這行代碼的使用場景的同學你該去自習看看ARC的注意事項和Block的使用了
// AFNetworking的寫法__weak __typeof(&*self)weakSelf = self;
// 我之前一直這么寫的__weak __typeof(self) weakSelf = self;
// 或者這么寫__weak XxxViewController *weakSelf = self;
// 或者這么寫__weak id weakSelf = self;

當時也沒注意為什么要寫成&*這種樣子… 今天再想起來, 搜了一圈, 終于讓我找到原因了…

正文

其實以上的4種寫法都是對的 
AFNetworking里面不寫成以上這行代碼的原因是因為 typeof(self) 會被解析成 XxxViewController *const __strong (假如你的self是XxxViewController的話), 這樣的話就就會報錯…(沒有老版本, 沒有驗證, 不過看網上的結論應該是這樣了)

不過, 如果你寫成了__typeof(self)也沒什么問題… 那是因為在LLVM3.1之后已經不會出現以上的情況了… ( via )

總結

  • TODO: ARC的文檔值得仔細看看 http://clang.llvm.org/docs/AutomaticReferenceCounting.html

  • 之前推薦的 Multithreading and Memory Management for iOS and OS X 是一本好書


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沭阳县| 道孚县| 阳春市| 布拖县| 伊春市| 逊克县| 景谷| 凤庆县| 和静县| 昭苏县| 临朐县| 类乌齐县| 虞城县| 抚远县| 浦县| 雷波县| 公主岭市| 凯里市| 喀喇| 嵊州市| 许昌县| 台中市| 乌审旗| 巩义市| 吉安市| 新化县| 韶关市| 来凤县| 邵阳县| 阜南县| 安达市| 深泽县| 朝阳区| 岑巩县| 辰溪县| 龙游县| 青龙| 松潘县| 论坛| 桂东县| 西吉县|