原创 runtime(四)----API

關於API和Method,iVar等類的解析,這篇文章十分全面,自知肯定沒這篇文章總結的好,故貼鏈接出來 轉自他人,點此查看 github,關於主要API使用方法的demo,點擊查看

原创 runtime(二)(消息發送,動態解析,消息轉發)

所有的方法調用都轉化爲objc_msgSend(id object,SEL selector,…); 消息機制:給方法調用者發送消息 objc_msgSend(消息接收者,消息名稱); objc_msgSend的執行流程可分爲三個階段

原创 runtime(一)------類結構,方法結構,方法緩存等

編寫代碼--------編譯連接---------運行 (1)OC的動態性都是靠runtime的API支撐的。 (2)isa指針isa詳解 實例對象的isa指針指向類對象,類對象的isa指針指向元類對象,元類對象的isa指針指向根類元

原创 isa指針詳解

在arm64之前,isa是一個普通的指針,存儲着class和meta-class的內存地址 從arm64之後,isa指針變成了一個共用體,還使用位域來存儲更多的信息 取值:取哪一位,哪一位爲1,其他爲0,取&,例如:取出1101中的第

原创 在block中執行push操作崩潰

情景如下: view中有一個block屬性,點擊view上的按鈕,調用block 對block的賦值在viewController中 結果,點擊按鈕的時候崩潰,無崩潰信息 原因,view中的block使用的assign屬性,改

原创 CALayer 和 UIView

(1)UIView可以響應點擊事件,CALayer不可以響應時間,UIView繼承與UIResponder;CALayer繼承於NSObject (2)UIView的frame,bounds等都是直接取的layer的, 重寫view的

原创 IQKeyboardManager

IQKeyboardManager 使用SB,爲解決防止NavigationBar向上移動,將Class由UIView換爲UIScrollView,佈局亂掉了

原创 iOS 截屏 長圖 拼圖

這樣一個需求: 將一個webView生成一張圖片。 截屏的代碼如下: - (UIImage*)screenView:(UIView *)view { CGRect rect = view.frame; UIGra

原创 UItextField實時監控輸入框的文字

想要實現的效果 [textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChange

原创 atomic和nonatomic的關係;@synthesize和@dynamic的關係

atomic,默認是atomic, 兩者的區別是:修飾的屬性的setter方法和getter方法不同, atomic修飾的屬性的setter和getter方法,stomic在setter方法和getter方法設置和取值的時候有一個安全

原创 ARSessionConfiguration 在xcode上找不到

關於ARKit已有很過文章系統介紹過了,也很詳盡,再次不在重複 但是ARSessionConfiguration在xcode上找不到,用xcodeBeta版會提示是被ARConfiguration代替了

原创 xib或者SB中設置邊框顏色

layer.cornerRadius Number layer.borderWidth Number layer.borderUIColor Color 這樣的話,前兩個可以設置,但是邊框顏色還是不能按照我們的意

原创 Charts的使用

ChartsDemo的使用 github的地址https://github.com/danielgindi/Charts 集成到項目中, (1),將下載的Charts-master整體拖入到自己的項目中(Charts-mast

原创 mac電腦連接vpn

如果沒有共享密鑰,需要打開終端 (由於公司VPN使用的是L2TP協議,並且是無共享密鑰的,OS X需要作一些配置才能支持,否則會提示“IPSec 共享密鑰”丟失。請驗證您的設置並嘗試重新連接。) 1、/etc/pp

原创 CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [160 nan]

原因,有個對象爲nil,而我卻是用了這個nil對象的frame進行了運算