【问题标题】:How many characters can NSString haveNSString 可以有多少个字符
【发布时间】:2011-08-27 08:57:54
【问题描述】:

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

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

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

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

请帮忙。谢谢

【问题讨论】:

标签: javascript iphone nsstring webview


【解决方案1】:

stringByEvaluatingJavaScriptFromString 方法返回nil 时,表示出现问题。这很可能不是因为NSString 的大小限制,而是出于以下原因之一:

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

来自文档:

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

JavaScript 分配也限制为 10 MB。网络视图引发 如果您超过总内存分配的此限制,则会出现异常 用于 JavaScript。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 感谢您的回复。但是,似乎我只能接受一个答案。谢谢。
    猜你喜欢
    • 2010-11-13
    • 2011-07-18
    • 2011-08-20
    • 2014-09-20
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多