如何将一个variables从JavaScript传递到客观的C和Objective C到Javasctipt在ios中
我是一个iOS开发人员,是JavaScript的新手。
我想创build一个Javascript到Objective C和Objective C到Javascript的通信。
如何将一个variables从JavaScript传递到客观的C和Objective C到Javasctipt在ios中。
如果有任何人有参考,请让我们知道这个?
我使用Parse CloudCode编程JavaScript。 就我而言,我使用CloudCode调用Stripe API。
例如:
Objective-C的
NSDictionary *parameters = @{ @"customerId": stripeCustomerId, @"amount": @(100), }; [PFCloud callFunctionInBackground:@"chargeCustomer" withParameters:parameters block:block];
JavaScript的
Parse.Cloud.define("chargeCustomer", function(request, response) { Stripe.Charges.create({ amount: request.params.amount, // in cents currency: "usd", customer: request.params.customerId, },{ success: function (httpResponse) { console.log(httpResponse); response.success(httpResponse); }, error: function (httpResponse) { console.error(httpResponse.message); response.error(httpResponse.message); } }); });
正如你所看到的,在这种情况下,为了将variables从objective-c传递给javascript,可以使用request.params。
如果你的目标是iOS8,你可以考虑使用WKWebView
而不是UIWebView
,在这方面已经有了很大的改进。 好的起点是WKWebView
参考文档和NSHipster文章 。
您可以使用本机iOS对象来执行此操作。
从Obj-C到JS
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
它在UIWebview中加载的页面中注入或调用预先存在的方法/对象。 它返回JS返回给你的值
UIWebView类参考
从JS到Obj-C
实现UIWebView
协议,你可以在开始之前处理请求:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest (NSURLRequest *)request navigationType (UIWebViewNavigationType)navigationType
所以,从JS你必须调用一个自定义架构http的URL,如test://
。 然后你将在我之前写的委托方法中parsing请求。