내 앱에 JavascriptCore
을 사용하고 있습니다. 이제, Objective-C로 다시 전달할 수있는 JSContext
에 몇 가지 변수를 전달할 것입니다. 그러나 변수 중 하나 인 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