是否可以在不使用NSString
的情况下运行一些javascript代码(可能有UIWebView
作为输入)?我想在一个单独的线程中运行此代码,因此UIWebView是不可能的,我真的不想渲染任何东西,只需返回结果。
答案 0 :(得分:3)
我没试过这个,但这里有一个想法:
编写代码以分配空UIWebView
但不在任何地方将其添加为子视图,只需直接在您的javascript上调用- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
。
然后使用NSOperation
并行运行。
任何可能对您不起作用的理由?我认为这会避免为UIWebView
显示任何内容。
作为旁注,我想不出你在javascript中可以做什么,你不能在Objective-C中直接做得更快。除了可能解析你从外部获得的javascript,这可能被Apple视为禁忌,具体取决于细节。
猜测您的目标:如果您想解析JSON服务器回复,我建议使用json-framework library hosted on google code。它有一个很好的界面,它非常容易学习和集成。
答案 1 :(得分:1)
我认为Parmanoir的文章Taming JavascriptCore within and without WebView可能会给你一些建议。
答案 2 :(得分:0)
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(getResults:) userInfo:nil repeats:YES];
-(void)getResults
{
NSString *value = [self.webView stringByEvaluatingJavaScriptFromString:@"javascript"];
}
任何理由你都不能做这样的事情。不应该是主线程上的大量开销。