? ? ? 首先,簡單說一下,為什么要用JSPatch,做iOS開發的人都知道,一旦程序出現了緊急BUG,各種申請蘋果的加急審核,然而還被拒絕的心情,因此,不得不提一下騰訊的小伙子寫的這個JSPatch.廢話不多說,先來個學習鏈接,可以在第一個鏈接學習到JSPatch與OC交互的一些基本語法,其實筆者很多語法都是自己看著wiki摸索出來的,也就是說wiki上的語法只是寫簡單的,不過對于修復一些簡單的小BUG而言,足夠了,第二個鏈接是用來翻譯代碼的,大家做輔助寫代碼的工具就好,因為翻譯正確率真的不是太高~~
bang590.github.io/JSPatchConvertor/
1.先補充一下wiki中對枚舉的解釋
? ? ? ?因為JS是弱類型的語言,所以JS是沒有枚舉這個類型的,所以對于OC中的一些枚舉類型,寫在我們的JS中我們的程序會直接崩潰的,所以個人建議不要順著wiki中直接去些那些魔法數字,會對程序的閱讀性不高.筆者建議用下面這種方式重新定義一下枚舉
//點擊方式枚舉
global.UIControlEventTouchUpInside = 1 <<? 6;
(如果有人對global.UIControlEventTouchUpInside)這個方法有疑問的話,下面有筆者附上的一個github地址,大家去參考一下筆者寫的demo.具體的一些如何新加類,控制器之間的傳值,大家也可以去具體看筆者的demo.
2.JSPatch如何使用?
1>導入JS框架(pod 'JSPatch')?
2>在AppDelegate中導入JPEngine.h
筆者注釋掉的那段代碼呢,是JSPatch另一種調用JS代碼的規則,不過是不支持多文件的,第二種調用規則是支持多文件的.使用起來就這么簡單,只要和自家服務器做好配合就行.
下面是筆者寫的一個demo鏈接GitHub - 995996812/JSPatchTbaleViewDemo: JSPatch
3.原理
至于JSPatch一些相互轉換的原理,筆者提供一個博客地址,感覺這個寫的還是比較好的!
JSPatch實現原理詳解:讓JS調用 - 替換任意OC方法 - CocoaChina_讓移動開發更簡單
小伙伴們,感覺提供的學習資源足夠的話!請給個好評哦!!!