Obteniendo el valor de retorno de JavaScript en UIWebView

Quiero recuperar el valor de retorno de JavaScript en mi ViewController,

El problema es que, si hay una pequeña cantidad de datos como String, lo obtendré.

Pero si hay datos grandes como el object JSON, muestra nil.

Cuando llamo a la misma function JS en Safari> Desarrollar> simulador de iOS, le está dando un object JSON después de 1-2 segundos.

Aquí está mi código:

var value = IBwebView.stringByEvaluatingJavaScriptFromString("get_small_string()") println(value) //Printing value 

pero esto imprime nada,

 var value = IBwebView.stringByEvaluatingJavaScriptFromString("get_JSON()") println(value) //Printing nil 

¿Alguien sabe cómo puedo get el valor de retorno JS de gran tamaño en el object iOS?

Esto resuelve mi problema,

 var value = IBwebView.stringByEvaluatingJavaScriptFromString("get_JSON()") var err:NSError? var obj:AnyObject? = NSJSONSerialization.JSONObjectWithData(value!.dataUsingEncoding(NSUTF8StringEncoding)!, options:nil, error:&err) if let items = obj as? NSDictionary { var data1:String = items.objectForKey("data1") as? String var data2:String = items.objectForKey("data2") as? String var data3:String = items.objectForKey("data3") as? String } 

Tan pronto como devuelva un object no funcionará, lo que puede intentar es devolver una versión enlazada de su object

 JSON.stringify(yourObject); 

Y analiza esta secuencia en el lado nativo.

Si el método de script java "get_JSON ()" devuelve más de 10 MB de datos, entonces no está permitido por el método stringByEvaluatingJavaScriptFromString.

O si tarda más de 10 segundos en procesar la salida, en ese caso obtendrá un valor nulo como salida.