文章来源:淘论文网   发布者: 毕业设计   浏览量: 19



还可以点击去查询以下关键词:
[非常]    [Bridge]    [Native]    [webview]    [内容]    [本地]    [交互]    [功能]    [OS Web Bridge Native,webview内容与本地交互,有非常非常爽功能]   

项目介绍:

MCWebBridgeNative 

github地址:https://github.com/CZXBigBrother/MCWebBridgeNative
采用的url拼接地址 打开任意controller(不需要预埋import,不需要预埋实现方法,很方便)并且可以进行传参,或者执行预埋的方法

主要作者比较懒,论文开题报告,有问题可以直接发邮件chenxingghost@gmail.com或者在issues提问,还有待完善的地方慢慢修改

Examples【示例】


知道你们懒,所以实现上面的方法只需要一行代码!是不是很爽

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { return [MCURLBridgeNative MC_autoExecute:request withReceiver:self]; }使用方法

上面的全自动判断执行的方法,下面介绍下自定义的内容

/**  *  知道你们懒 给你们一个全自动的方法  */ + (BOOL)MC_autoExecute:(NSURLRequest *)request withReceiver:(id)receiver; /**  *  创建并获取Controller对象  */ + (id)MC_getViewControllerRequestURL:(NSURLRequest *)request; /**  *  将创建的Controller push,如果没有navigation则执行present  */ + (void)MC_pushViewControllerRequestURL:(NSURLRequest *)request; /**  *  将创建的Controller present  */ + (void)MC_presentViewControllerRequestURL:(NSURLRequest *)request; /**  *  根据showtype字段判断是push还是present,controller,如没有这个字段则执行MC_push方法  */ + (void)MC_showViewControllerRequestURL:(NSURLRequest *)request; /**  *  执行一个本地的方法  */ + (void)MC_msgSendFuncRequestURL:(NSURLRequest *)request withReceiver:(id)receiver;

Web需要对应的内容,下面这是示例

    <a href='mc://mcvc?class=TestViewController'>打开test控制器</a><br>     <a href='mc://mcvc?class=TestViewController&showtype=push&dataString=MCstring&dataInteger=123'>push打开test控制器并传值</a><br>     <a href='mc://mcvc?class=TestViewController&showtype=present&dataString=MCstring&dataInteger=123'>present打开test控制器并传值</a><br>     <a href='mc://mcfunc?func=test'>执行本地方法</a><br>     <a href='mc://mcfunc?func=test:&data=MCstring'>执行本地方法并传值</a><br>

介绍一下结构
mc://mcvc?class=TestViewController&showtype=push&dataString=MCstring&dataInteger=123"

第一部分mc:// (这是客户端和web预定的协议,可用MC_checkScheme方法执行判断)

第二部分mcvc?或者mcfunc? (host,判断是打开controller还是执行本地方法)

第三部分class或者func字段 (class字段是用来生成需要打开的controller的类名,func字段是用来打执行需要执行的本地方法)

showtype字段是 MC_autoExecute:withReceiver: 和MC_showViewControllerRequestURL:方法 自动判断显示controller的方式,如何使用MC_pushViewControllerRequestURL:和MC_presentViewControllerRequestURL方法会无视这个字段

第四部分后面的部分就是你们需要传输的字段,这个库会自动按照字段名对应相同名字的属性进行赋值,暂时不能支持NSArray NSDictionary NSSet 或自定义类,如果需要可以使用MJExension库替换 MC_ObjectWithkeyValues这个方法中的使用

使用示例示例1 半自动啦- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {     if ([MCURLBridgeNative MC_checkScheme:request]) {         if ([MCURLBridgeNative MC_getViewControllerRequestURL:request]) {             [MCURLBridgeNative MC_pushViewControllerRequestURL:request];         }else {             [MCURLBridgeNative MC_msgSendFuncRequestURL:request withReceiver:self];         }         return NO;     }     return YES; }示例2 喜欢自己创建类的朋友- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {     if ([MCURLBridgeNative MC_checkScheme:request]) {         if ([MCURLBridgeNative MC_getViewControllerRequestURL:request]) {             id VC = [MCURLBridgeNative MC_getViewControllerRequestURL:request];             [self.navigationController pushViewController:VC animated:YES];         }         return NO;     }     return YES; }加密

执行显示url里的内容不是很安全,特地加了加密工具,支持RSA 和 DES 加密
已内置DES解密方法

[MCURLBridgeNative MC_DESDecrypt:request key:@'mc']

任何解密之后需要重新生成一个新的NSURLRequest对象

加密前:mc://mcvc?class=TestViewController&showtype=push&dataString=MCstring&dataInteger=123 加密后:mc://j97nAm965gnrIXpHYmW+a8kNd5UpDJcuqJYyrNSlOfWR5C2gOs7LAmySYbtGFzPolyMefbL2IuSLsF1zrEbwNOEZLT7LCQ945mhWKf58hEQ= (协议://)协议头不要加密用来判断 [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@'%@://%@',协议头,'解密后的内容']]] 示例    if ([MCURLBridgeNative MC_checkScheme:request]) {         return [MCURLBridgeNative MC_autoExecute:[MCURLBridgeNative MC_DESDecrypt:request key:@'mc'] withReceiver:self];     }


这里还有:


还可以点击去查询:
[非常]    [Bridge]    [Native]    [webview]    [内容]    [本地]    [交互]    [功能]    [OS Web Bridge Native,webview内容与本地交互,有非常非常爽功能]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/8390.docx
  • 上一篇:完美解决自定义毕业设计类归档解档问题
  • 下一篇:[XLsn0wChooser-XLsn0w] CocoaPods集成 10多种选择器