原创 Runtime02KVO和Category原理

遍歷監聽對象前後的實例方法的變化: 界面效果就是一個空白界面: 上代碼: Person類: @interface Person : NSObject { @public int _age; } //系統會默認爲age生成

原创 VC的shouldAutorotate和supportedInterfaceOrientations方法的學習demo

ios屏幕旋轉:當全屏模式(此時是橫屏模式)時,把app退後臺然後再進入app時,橫屏模式變成竟然變成了豎屏模式的解決方法。 步驟1:先看下圖蘋果文檔的discussion部分。但這句話應該這樣讀: ①This method re

原创 小程序get和post包含中文數據(解決亂碼問題)的Json字符串

1 小程序以GET方式獲取服務端的JSON字符串 服務端返回的JSON字符串 { "resourceType": "Patient", "id": "2", "extension": [ { "ur

原创 字節跳動客戶端、服務端、前端、測試內推啦

地點(廣州、深圳),頭條業務、遊戲業務、保密項目的 研發客戶端(Android、IOS)、服務端、前端、測試,內推請發郵件到 [email protected] 或者 [email protected]

原创 ios基礎學習筆記

資源位置的問題 資源分文件(比如圖片)和文件夾 圖片資源 拖拽一張普通圖片到xcode的工程的Assets.xcassets中。 拖拽3張相同內容的1x 、2x、 3x普通圖片到xcode的工程的Assets.xcassets中

原创 IOS版的MMKV框架解析,看這一篇就夠了?

IOS版的MMKV框架解析,看這一篇就夠了?MMKV瞭解MMKV前需要了解的基礎知識ProtocolBuffer(下文檢查PB)demo:基礎知識二進制串Tag - Length - Value 的數據存儲方式在MMKV中,使用的

原创 xcode添加符號斷點

1 切到斷點列表欄目,點擊左下角的 + 號,選擇symbolic breakPoint。 2 輸入要斷點的方法名,然後點擊 "add action"按鈕。 3 此時可以看到你新加的斷點方法。 4 運行項目,此時xcode會停

原创 創建一個ios組件供其他ios工程使用

有3種方式 方式1:創建一個ios組件給本地其他工程使用(引入該組件的代碼或者修改該組件的代碼) 創建一個存儲源碼的文件夾,然後在該文件夾下添加一些OC文件(本例以創建Person.h和Person.m文件爲例),然後創建一個p

原创 ios: 計算某種字體類型的某種大小的字符串的所佔用屏幕的寬高

計算某種字體類型的某種大小的字符串的所佔用屏幕的寬高有2種方式方式1,通過NSString的sizeWithAttributes方法方式2,通過NSMutableAttributedString 有2種方式 方式1,通過NSStr

原创 Runtime05Block原理

例子1 main.m文件的代碼如下: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool

原创 Runtime06類裏面的方法緩存原理

每一個類、每一個元類都有一個cache_t對象,cache_t對象是一個結構體,裏面有3個成員變量:①存儲了你之前調用過的某個類對象或者實例對象的方法(你調用過的類方法會存儲在元類的cache_t對象裏面,而你調用過的實例方法會

原创 Runtime03load()和initialize()的加載順序

demo項目的目錄結構 上代碼: main.m (啥都沒寫): #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { re

原创 Runtime04Category和關聯對象

先看一個demo demo的目錄結構如下 具體代碼如下 main.m : #import <Foundation/Foundation.h> #import "Person.h" #import "Person+Test.h"

原创 Runtime02KVO於Category原理

遍歷監聽對象前後的實例方法的變化: 界面效果就是一個空白界面: 上代碼: Person類: @interface Person : NSObject { @public int _age; } //系統會默認爲age生成

原创 ios事件-觸摸事件2(手勢 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的關係)

ios事件-觸摸事件2(手勢 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()、touchesCancelled()的關係) 先看效果圖