質問

JavaScriptCoreを使用して、objective-cでnsStringを使用している場合:

NSString *objcName = @"Kristof";
.

とjsglobalContextRefコンテキスト jscontextref

objcNameのObjective-Cの値をJScontextRefで指定されたJavaScript変数に転送する方法私は:

の行に沿って考えていました
JSStringRef jsNameRef = JSStringCreateWithUTF8CString([objcName UTF8String]);
JSValueRef jsValueRef = JSValueMakeString(jsContextRef, jsNameRef);
.

変数名が "jsname"になるとしましょう。私はもっと多くの電話が必要です(または多分1つの電話でさえ)、何かのようなもの:

// This part is pseudo-code for which I would like to have proper code:
JSValueStoreInVarWithName(jsContextRef,"jsName",jsValueRef);
.

では、このJavaScriptは、Objective-C:

でこのように呼び出された場合に正しく評価されます。
NSString *lJavaScriptScript = @"var jsUppercaseName = jsName.toUpperCase();";
JSStringRef scriptJS = JSStringCreateWithUTF8CString([lJavaScriptScript UTF8String]);
JSValueRef exception = NULL;
JSValueRef result = JSEvaluateScript(jsContextRef, scriptJS, NULL, NULL, 0, &exception);
.

役に立ちましたか?

解決

私は

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top