原创 React Native 學習從0至1-第一篇

一.新建一個ReactNative 項目 步驟:1.進入終端使用終端命令:react-native init 項目名稱 2.使用cd進入項目文件路徑 3.運行reacnative 項目 終端命令:react-native run-ios

原创 Swift 使用WKWebView 實現Swift 與JS 交互

功能一:刪除京東手機版https://m.jd.com/右上角的登陸按鈕 代碼如下 import UIKit import WebKit class ViewController2: UIViewController,WKNavigat

原创 CADisplayLink 與NSTimer 循環引用問題 ,NSTimer準時嗎?

由下面代碼可以看出   CADisplayLink 與NSTimer 中的targert 會發生強引用的關係,如何解決吶? @interface ViewController () @property(nonatomic,strong

原创 +load 與 +initialize的區別

先附上代碼,load 方法的代碼 我就不附上,大家可以自己動手測試一下。 @interface XZPerson : NSObject @end #import "XZPerson.h" @implementation XZPers

原创 MRC Copy 與MutableCopy的區別

拷貝的目的:產生一個副本,跟原對象之間互不影響。即修改原對象(或者副本)不會影響副本(或原對象)。 深拷貝:生成一個新的對象,叫深拷貝 淺拷貝:複製一個新的指針指向同一個對象,叫淺拷貝 NSString *str1 = [[NSStrin

原创 OC Super的理解

//我們來看下以下代碼打印的結果是什麼? @interface XZPerson : NSObject                       - (void)run; @end @implementation XZPerson

原创 IOS 面試總結(2)

       今天去面試了一家公司,自稱用戶在3億左右。問了很多前端方面的知識,都是我欠缺的,可想而知面試結果有多狼狽吧,最後面試官送了我一句話“建議你回去好好的深入的研究下前端的東西,還有你性格不錯,來我們公司組織下團隊活動應該沒啥問題

原创 IOS objc_msgSend執行流程

objc_msgSend大家應該不陌生吧,oc的方法調用,其實就是轉換爲objc_msgSend的函數調用。簡答的可以理解爲發消息,如果 方法調用 之後出現了經典的錯誤,unrecognized selector sent to inst

原创 Class 結構的剖析

從源碼objc_runtime-new.h 中可以看到 struct objc_class : objc_object { // Class ISA; Class superclass; cache_t cach

原创 Runtime 之 isa

要想學習runtime必須知道runtime的isa指針 我們都知道新的iphone手記採用的都是arm-64架構,在arm-64之前,isa就是個普通的指針,存儲着Class,Meta-Class對象的內存地址;從arm-64開始,對i

原创 KVO實現原理

KVO的全稱是Key-Value Observing,俗稱“鍵值監聽”,可以用於監聽某個對象屬性值的改變。 下面來探討一下KVO的本質 1.新建一個XZPerson類 #import <Foundation/Foundation.h> @

原创 Category源碼分析

一,首先爲啥要使用分類? 開發中分類可以吧不同的功能分散到多個不同的文件及框架,減少單個文件的體積,方便管理 創建私有方法 二,Category在編譯時刻,都是獨立的,各自生成各自的文件 XZPerson #import <Founda

原创 深入探索Block(一)

目錄 一 ,Block的本質  二,Block的變量捕獲 三,Block 的類型 一 ,Block的本質 .m 文件代碼如下 int main(int argc, const char * argv[]) {     @autorelea

原创 React Native遇到的問題

1.WebStorm中的組件出現黃色下劃線,以下是去掉下劃線的方法   2.React Native  引入其他js文件嚴格遵循首字母大寫的駝峯命名,巨坑。    

原创 IOS原生集成ReactNative

     折騰了一天,看到網上很多帖子說原生集成RN使用cocopods 會報各種奇葩的錯誤,給我嚇得趕緊使用拖拉文件的方式。哪知道一直沒成功。嘗試了下cocoapods集成RN,成功了,下面來分享下我的成功,嘻嘻~ 1.首先新建個xco