
1 CALayer IOS SDK詳解之CALayer(一) http://doc.okbase.net/Hello_Hwc/archive/123447.html 1.1 ...
今天在升級Flutter后在vscode運行報錯: 在Xcode(v11.4.1)里運行倒是沒有問題...... 想到之前flutter升級時: 直接終端:flutter u...
說的很詳細,第四種帶block方法是iOS10 之后蘋果推出的用來防止循環引用的,用weakSelf解決的是block的強引用問題,另外不管是用中間代理解決timer對Tardet的循環引用還是用block,都要讓timer調用invalidate方法,解除runloop的強引用
如何正確的使用NSTimer最近在復習iOS中NSTimer的知識,有一些新的收獲,因此記錄下來。 廢話不多說,先來看看timer最常用的寫法。 這里的TimerViewController是從上一個控...
樓主分析的特別好,另外我還發現:
1、iOS 10后蘋果新增了block方法防止循環引用:- (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)interval repeats:(BOOL)repeats block:(void (^)(NSTimer *timer))block,思路應該跟樓主說的一樣。
2、即使用YYWeakProxy或者block防止了循環引用,但是如果忘記調用[_timer invalidate]; timer還會在一直執行,所以我們應當確保每一次viewcontroller消失或釋放時,手動對timer進行暫停。
KVC(Key-value coding)鍵值編碼,單看這個名字可能不太好理解。其實翻譯一下就很簡單了,就是指iOS的開發中,可以允許開發者通過Key名直接訪問對象的屬性,或...
目錄1.什么是KVO?2.KVO實現原理3.通過KVC設置value值KVO能否生效?4.通過成員變量直接賦值KVO能否生效? 1.什么是KVO KVO (Key-Value...
本文探究問題:- 怎么通過關聯對象為分類category添加成員變量?- 添加的成員變量被存儲在哪了? 1.為分類(category)添加成員變量 我們都知道直接往分類中添加...
說明:本文涉及到runtime源碼(objc4-756.2)中的objc-runtime-new.h/objc-runtime-new.mm文件. 首先來看category數...
「簡書」作為一款「寫作軟件」在誕生之初就支持了 Markdown,Markdown 是一種「電子郵件」風格的「標記語言」,我們強烈推薦所有寫作者學習和掌握該語言。為什么?可以...
之前創建單例是使用下面的方式: 這種方式創建的單例,如果外部使用了alloc方法來創建實例,或者copy方法拷貝了單例實例,那么就無法確保對象的唯一性,因此需要重寫alloc...