私のアプリでJavascriptCore
を使用しています。今、Objective-Cに戻すことができるJSContext
にいくつかの変数を渡します。しかし、変数の1つ、NSDictionaryが正しく通過していません。私は以下のコードを実行します。JavascriptからNSDictionaryをJavascriptCoreのObjective-cに渡します
var evaluate = function(variables) {
app.setDictionary(variables.dictionary);
}
これはJSContext
に設定し、これらの以下のメソッドを持っている簡単な例です。
- (void)setDicationary:(NSDictionary *)dictionary {
self.mutableDictionary = [dictionary mutableCopy];
}
これはvariables.dictionary
次のとおりです:
これはsetDictionary()
方法である
- (NSDictionary *)dictionary {
return self.values;
}
そして、これは私がevaluate()
呼び出す方法です:setDictionary方法で、しかし
JSValue *jsFunction = self.context[@"evaluate"];
JSValue *value = [jsFunction callWithArguments:@[self.variables]];
を、私はNSDictionaryを取得しませんが、代わりにNSStringを取得します[object Object]
。
どのように私はこれを解決することができますか?
質問にObjective-Cコードを追加してください。 –
@BorisVerebsky私はそれを追加しました! – user4992124