框架的設計筆記_第1頁
框架的設計筆記_第2頁
框架的設計筆記_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、面試題:1.什么是運行時?2.如果你自己設計一套第三方框架, 你會怎么設計?你會考慮哪些東西?OC和JS交互的第三方框架 - WebViewJavaScriptBrigeJS和OC的交互JS和OC溝通的橋梁, 基本功能有1 JS發(fā)送數(shù)據(jù)給OC2 OC發(fā)送數(shù)據(jù)給JS它的配置過程稍微有點復雜github地址:/marcuswestin/WebViewJavascriptBridge0 框架的名字: 最好名字中表達了框架的功能,需要準備一個主頭文件,主頭文件跟框架名字一致需要在主頭文件中包含其他依賴的頭文件其他開發(fā)者只需要包含主頭文件,就可以使用這個第三方框架1 簡單易用能夠快速入手:盡快地把這個框

2、架用起來簡單的接口:類的設計、方法的設計(方法名、參數(shù)、返回值)詳盡的注釋2 擴展性(其它開發(fā)者可以給這個框架動態(tài)添加功能)3 性能(運行效率,耗時、效益)4 對項目的侵入性(污染性,盡量減少)盡量不要讓其它開發(fā)者的類繼承框架內(nèi)部的類5 資源的管理(圖片管理) : 打包圖片音頻等資源文件到bundle中6 框架升級不要輕易修改以前的方法名如果舊方法過期,最好保留舊方法,通過NS_DEPRECATED_IOS提醒使用新方法+ (void)showSuccess:(NSString *)msg NS_DEPRECATED_IOS(2_0, 3_0, 請使用xxxx方 法);待講字典互轉模型框架 -

3、 MJExtension1.OC調(diào)用JS - OC傳遞數(shù)據(jù)給JS1 利用UIWebView的某個方法執(zhí)行JS代碼NSString *result = webView stringByEvaluatingJavaScriptFromString:js;/ result是執(zhí)行完JS代碼后的返回值/ 其實也可以通過這個方法辦到:JS傳遞數(shù)據(jù)給OC2 舉例NSString *username = zhangsan; NSString *pwd = 888888;NSMutableString *js = NSMutableString string;js appendString:function l

4、ogin(username, pwd) alert(username + - + pwd);js appendFormat:login(%, %);, username, pwd;/ 在OC中調(diào)用JS的函數(shù)(執(zhí)行JS代碼)webView stringByEvaluatingJavaScriptFromString:js;2.JS調(diào)用OC - JS傳遞數(shù)據(jù)給OC1 將OC方法和參數(shù)值拼接在一個URL中, 并且請求這個URL window.location.href = hm:shutdown:&10086;/ shutdown: - 方法名/ 10086 - 參數(shù)值2 系統(tǒng)會自動調(diào)用webVie

5、w的代理方法/*每當webView發(fā)送一個請求之前都會先調(diào)用這個方法*param request 即將發(fā)送的請求*return YES: 允許發(fā)送這個請求, NO: 禁止發(fā)送這個請求*/- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest: (NSURLRequest *)request navigationType: (UIWebViewNavigationType)navigationType;a) 在這個代理方法中攔截JS請求的URLb) 從URL中截取相應的方法名和參數(shù)c) 調(diào)用方法,傳遞參數(shù)1.github地址:/CoderMJLee/MJExtension 2.具體用法可以參考github上面的Demo3.常見的方法實現(xiàn)1 說明數(shù)組中裝的是什么模型(NSDictionary *)objectClassInArray return dogs : Dog class,cats : Cat class;2 說明屬性名對應著

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論