首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发OC与H5网页交互之OCJS(WKWebView)

https://blog.csdn.net/u010105969/article/details/77414033 之前的一篇博客中给出了JSOC的方法,大家可参考博客:http://blog.csdn.net.../u010105969/article/details/53541088 本篇博客则是讲了OCJS,代码似乎更简单。...OCJS的代码: // 页面加载完成之后调用 - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *...JS需要再网页加载完成之后进行,当初我JS的是用户的登录状态,JS需要拿到用户的登录状态去进行收藏的操作。...再次提醒:这种OCJS参数的方式实际就是OC调用JS方法,JS方法的一个参数。 好了,博客很短,代码很简单,希望帮到那些在找OCJS方法的童鞋们。

4.9K20

iOS开发OCJS交互(UIWebView)

https://blog.csdn.net/u010105969/article/details/53189934 之前虽然做过OCJS交互,但都是比较简单的效果:点击网页中的图片,然后进行图片浏览...现在对OCJS交互这块也不是很清楚,今天只是把之前的代码贴过来以便今后更好地理解OCJS的交互。 首先需要往网页中注入JS。注入JS的工作是后台做的。...可好像安卓和iOS还是有区别的,因为之前安卓那边可以实现与JS的交互,而我这边却不能。后台后台修改了代码,我这边也就可以进行交互了。...中的方法名改掉,OC找不到相应方法,这里就会打印异常信息 NSLog(@"异常信息:%@", exceptionValue);     }; } 苹果有了 <JavaScriptCore/JavaScriptCore.h...附上利用WKWebView加载网页OCJS的交互的地址: http://mp.blog.csdn.net/postedit/53541088

3.9K30
您找到你想要的搜索结果了吗?
是的
没有找到

iOS开发:Block的运用

前言 在iOS开发是一个非常经典的方法,有六种方式:属性、代理、Block、方法、单例、通知。本章就来分享一下通过Block完成两个不同界面间的操作。...那么接下来通过实际应用场景,来直观的演示一下用Block的操作,具体如下所示。...实例场景是在控制器A里面点击按钮进入到控制器B中,控制器B里面是一个单元格界面,每一个列表对应的三个参数,需要选中其中想要的列表然后返回并到控制器A里面,这就是整个使用场景的描述,接下来是具体实现的代码步骤...(NSString *temp, NSString *time, NSString *water); @end 2.png 3、控制器B.m文件 控制器B.m文件里面,主要是在单元格的点击事件里面Block...nil];         [self.tableView reloadData]; // 数据加载完成之后刷新tableview     } } 3.png 这就是通过Block进行的一个简单传操作

80641

iOS开发之通过代理逆向

iOS开发中,是几乎每个App都会用到的,对于传统的顺向应该说是比较简单的,但是逆向往往会用到代理模式来实现,很多同学在这一块有迷惑,迷惑的不是怎么逆向,而是不理解代理模式,下面就来分析一下...,如何理解和快速上手代理模式,并以一个简单的逆向为案例,看看代理模式是不是很难。...被代理对象 1、定义协议,在协议中定义方法用于什么类型的就设置什么类型的参数 2、声明一个遵守上述协议的delegate属性 3、在需要的时候调用代理对象完成 代理对象 1、遵守被代理对象定义的协议...2、实现协议中的方法,捕获传过来的,并根据需求来处理捕获的 设置被代理对象的delegate属性为代理对象 这一步是在上述两个对象的其中一个里面完成的 三、代理模式与逆向 通过如上描述可以看出...逆向.gif

69750

iOS开发之利用Block逆向

iOS开发之通过代理逆向一文中,分析了利用代理模式来逆向,其实还有一些其他的方式,如通知、Block等,相比较代理,我个人认为反而要简单些,但是需要处理好细节问题,如Block循环引用。...一、书写规范 Block,需要注意的是,谁就需要定义Block,捕获方仅仅需要传递Block方,并处理捕获的。...方 1、定义Block用于 2、声明一个上述Block属性,这个属性的具体实现需要捕获方进来 3、在需要的时候调用Block完成 捕获方 1、传递一个Block方 2、...在Block中捕获传过来的,并根据需求处理捕获的 二、Block与逆向 还是那句No Code, No BB,案例效果如下: ?...id)sender { NextViewController *nvc = [[NextViewController alloc]init]; //赋值Block,并将捕获的赋值

77570

iOS 开发】Controller 之间使用代理

Controller 控制器之间经常需要互相传递,第一个控制器(简称 MasterVC)在通过 NavigationController Push 第二个控制器(简称 DetailVC)的时候,...而 DetailVC 在给 MasterVC 传递的时候,比如设定 MasterVC 的 Title,却不能用同样的方式(试一下就知道了),而且因为我们要通过 NavigationController...返回原来的界面而不是 push 一个新的界面,所以也不能通过 segue ,解决方法我尝试了两种: 使用 static var 使用代理 使用 static var class MasterVC...DetailVC 以代理作为桥梁,来调用 MasterVC 里面的 setControllerTitle(text:String) 方法,而 MasterVC 只需要遵守一个相应的协议...popViewControllerAnimated(true) } } 相比之前的方法,我们获得的额外的好处是:假如我们传递的不只是字符串,而是大量的信息,比如十个不同类型的,使用代理依然只需要实现一个方法

1K20

iOSOCCategory添加属性

关于Runtime的说明可以查看这篇博客:传送门:OC中Runtime浅析 Category(类别): 对于不熟悉Category的人,这里也先说明一下Category是什么以及怎么创建Category...所以我们首先需要自己去添加setter、getter方法,这个好办,直接在.m文件里加就可以了,但是要真正添加可以使用的属性,还需要利用Runtime来关联对象,关于关联对象的技术可以看传送门:OC中Runtime...const void *key 属性对应的key id value 设置属性为value objc_AssociationPolicy policy 使用的策略,是一个枚举...,和copy,retain,assign是一样的,手机开发一般都选择NONATOMIC */ objc_setAssociatedObject(self, CloudoxKey...结 以上就是Category添加属性的方法啦,不难,只要了解Runtime中的关联对象技术就可以轻松达到了。

1.1K10

WebView 和 JS 交互,如何将 Java 对象和 List JS

随着混合开发模式比较流行,很多时候,我们需要在原生的基础上,使用 WebView 加载网页,这样控制更加方便。今天我们来看看,如何将 Java 对象 和 List 集合 JS 调用。...1 如何将 Java 对象实例 JS 其实将我们在 Android 原生中将 Java 对象实例 JS 承认并且可以使用的对象,方法非常简单。我们来举个例子。...它就是我们进行的 Java 对象实例。直接就可以使用,获取了年龄,名字,和性别属性。那我们该如何声明该对象,才会被 JS 所承认呢?...在 WebView 上是这样的: webView.loadUrl("file:///android_asset/test_object.html"); final Person p = new Person...其实按道理来说,是不可以将List集合直接 JS 使用,但是既然对象可以JS 可以调用 java 对象,也可以调用 Android 中的方法,那我们就一拆分的形式传过去。

8.5K100

iOSJS与原生OC互相调用(总结)

iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式。...关于这种方式调用OC方法,唐巧早期有篇文章有过介绍: 关于UIWebView和PhoneGap的总结 方式二 在iOS 7之后,apple添加了一个新的库JavaScriptCore,用来做JS交互,...iOSJSOC互相调用(一)--UIWebView 拦截URL iOSJSOC互相调用(二)--WKWebView 拦截URL iOSJSOC互相调用(三)--MessageHandler...iOSJSOC互相调用(四)--JavaScriptCore iOSJSOC互相调用(五)--UIWebView + WebViewJavascriptBridge iOSJSOC互相调用...(六)--WKWebView + WebViewJavascriptBridge iOSJSOC互相调用(七)--Cordova 基础 iOSJSOC互相调用(八)--Cordova详解+实战

4.9K30
领券