在Objective-C中从JavaScript调用变量NSString

时间:2012-12-30 20:07:27

标签: javascript objective-c cocoa webview nsstring

我想在WebView中从JavaScript中捕获变量NSString
在这种情况下,变量将是应用程序的路径。


我的代码

 - (NSString *)pathBundle {
    return [[NSBundle mainBundle] bundlePath];
 }

+ (BOOL)isSelectorExcludedFromWebScript:(SEL)selector { return NO; }
+ (BOOL)isKeyExcludedFromWebScript:(const char*)name { return YES; }

现在,我尝试使用alert(app.pathBundle_);在JavaScript中调用此内容,但警告消息显示为undefined

我已经设法实现了一个Objective-C函数来通过JavaScript(- (void)changeTitle:(NSString *)Value { ... })更改窗口标题,但是使用NSString结果似乎没有从Cocoa传递给JS。

可能有人知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,我刚刚找到了解决方案。这是我的工作代码:

- (NSString *)pathBundle:(NSString *)Value {
    return [[NSBundle mainBundle] bundlePath];
}

- (NSString *)pathResources:(NSString *)Value {
    return [[NSBundle mainBundle] resourcePath];
}

在JavaScript中,我称之为:

alert(Stz.pathBundle_());
alert(Stz.pathResources_());

圣诞快乐,新年快乐:)