OC記憶體管理--引用計數器
有些物件如果支援使用 TaggedPointer ,蘋果會直接將其指標值作為引用計數返回; 如果當前裝置是 64 位環境並且使用 Objective-C 2.0 ,那麼“一些”物件會使用其
有些物件如果支援使用 TaggedPointer ,蘋果會直接將其指標值作為引用計數返回; 如果當前裝置是 64 位環境並且使用 Objective-C 2.0 ,那麼“一些”物件會使用其
原文連結 OC記憶體管理--物件的生成與銷燬 在iOS開發中了,我們每天都會使用 + alloc 和 - init 這兩個方進行物件的初始化。我們也這知道整個物件的初始化過程其實就是 開闢一塊記憶體空
Block 是 C 語言的擴充功能 Block 是帶有自動變數(區域性變數)的匿名函式 本質 Block 是一個 Objc 物件 底層實現 下面我將通過一個簡單
如果物件A持有物件B,B作為A的associated object,並且表面上B沒有其他被強引用的地方,那麼物件A被釋放時,物件B一定會同時釋放嗎?大部分情況下是,但真有不是的時候。最近實現程式碼的時候不小心就
[TOC] @(swift)[溫故而知新] 面試中經常被問到 Objective-C 與 Swift 的區別,其實區別還是很多的,重點整理一下個人覺得很重要的: 面向協議程式設計 。 一、Obj
經典的實現例子: #import <objc/runtime.h> @implementation UIViewController (Tracking) + (void)load {
這一個經典的面試題,Student是Person的一個子類,在子類Student的init方法中呼叫4個方法並列印結果。 objc_msgSend(self, sel_registerN
在ObjC中,方法的呼叫是通過訊息機制依賴runtime來實現的。使用 [] 給物件傳送一個訊息,轉化為C++的實現是呼叫了 objc_msgSend() 函式。 objc_msgSend() 函式在
網上絕大多數的部落格講 objc_class 的定義,基本上都使用了下面的 程式碼一 來講解,與 objc4 原始碼 objc-runtime-new.h 中關於 objc_class 中的定義完全不一樣,我
class_copyIvarList : 只是返回本類的例項變數,父類的例項變數不會返回。 在 NSArray 的 enumeration block 中, return 並不能阻止其
小碼哥iOS底層原理班--MJ老師的課確實不錯,強推一波。 OC物件本質 基於C與C++結構體實現 OC語言如何被編譯器編譯: OC ==> C++ ==>
在main.m的main函式中宣告一個block並執行 block() 通過 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc mai
一、前言 最近我在FortiGuard實驗室一直在深入研究macOS系統安全,主要關注的是發現和分析IPC漏洞方面內容。在本文中,我將與大家分享XPC內部資料型別,可以幫助研究人員(包括我自己)快
背景 之前就瞭解到js中有Promise這麼一個東西,可以很友好的實現非同步方法,後來偶然在一段ios開源程式碼中看到這麼一段用法: firstly { login() }.
閱前提醒:本文僅屬個人觀點,如有雷同純屬巧合,如有錯誤請指正。 GUI 差不多已經發展了近 30年,到現在這項技術已經基本成熟,各種 GUI框架基本已經大同小異,下面是流行的 GUI框架一覽: