iOS 8 JavaScriptCore:您将 JavaScript 文件放在哪里?
Posted
技术标签:
【中文标题】iOS 8 JavaScriptCore:您将 JavaScript 文件放在哪里?【英文标题】:iOS 8 JavaScriptCore: Where do you place your JavaScript files at? 【发布时间】:2014-11-09 23:28:33 【问题描述】:如何将 JS 文件添加到主目录,以使 's' 不返回 'nil'。谢谢。
func analyzeText(text: String)
let homeDir = NSHomeDirectory()
var err: NSError? = NSError()
let s = String(contentsOfFile: homeDir + "/text.js", encoding: NSUTF8StringEncoding, error: &err)
println(s)
var context = JSContext(virtualMachine: JSVirtualMachine())
context.evaluateScript(s)
let analyzeText = context.objectForKeyedSubscript("analyzeText")
let analyzeTextVal = analyzeText.callWithArguments([text])
println(analyzeTextVal)
【问题讨论】:
【参考方案1】:以下代码适用于我:
func analyzeText(scriptName: String)
var ext = scriptName.pathExtension
var fileName = scriptName.substringToIndex(
advance(scriptName.startIndex,
scriptName.utf16Count - ext.utf16Count - 1))
if fileExtension.utf16Count == 0
fileName = scriptName
ext = "js"
let url = NSBundle.mainBundle()
.URLForResource(fileName, withExtension: ext)
let scriptCode = String(contentsOfURL: url!,
encoding: NSUTF8StringEncoding,
error: nil)!
var context = JSContext(virtualMachine: JSVirtualMachine())
context.evaluateScript(scriptCode)
/* ... */
要评估名为 text.js
的文件,请执行以下操作:
analyzeText("text")
确保已将text.js
添加到 Xcode 项目中,如有必要,将文件复制到目标位置
【讨论】:
如果有许多javascript文件并且它们具有相互依赖关系怎么办:它们可以按依赖关系的相反顺序依次加载并期望正确解析吗?以上是关于iOS 8 JavaScriptCore:您将 JavaScript 文件放在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
swift 笔记:iOS与JavaScript的交互(二):JavaScriptCore:8。调用引入的JavaScript - 调用