NSString有多少个字符

时间:2011-08-27 08:57:54

标签: javascript iphone nsstring webview

我正在尝试从Javascript返回一个字符串:

   [myWebView stringByEvaluatingJavaScriptFromString:@"myJavaScriptFunction()"];

对于短字符串,返回正常。 但是,当我返回一个很长的字符串(比如字符串中的5000个字符)时,我什么也得不到。

所以我猜它可能是由于NSString Size限制或我的“var jvString”大小限制。

请帮忙。感谢

2 个答案:

答案 0 :(得分:1)

当方法stringByEvaluatingJavaScriptFromString返回nil时,表示出现了问题。由于NSString尺寸限制,这很可能,但出于以下原因之一:

  • javascript执行时间超过10秒
  • 脚本分配超过10 MB

来自文档:

  

每个顶级的JavaScript执行时间限制为10秒   入口点。如果您的脚本执行时间超过10秒,则为Web   视图停止执行脚本。这可能是随机发生的   放在您的代码中,可能会产生意想不到的后果。这个限制   强制执行,因为JavaScript执行可能导致主线程   阻止,因此当脚本运行时,用户无法进行交互   与网页。

     

JavaScript分配也限制为10 MB。网络视图提升   如果超出总内存分配限制,则会出现异常   用于JavaScript。

答案 1 :(得分:0)

由于32位结构,它的最大长度应为2 ^ 31-1个字符,这应该足够了;)