我有一个phonegap应用程序,我想在Documents文件夹中运行一个非常简单的“does file exists”命令。我主要工作。在JS,我有:从目标c返回变量为javascript
fileDownloadMgr.fileexists("logo.png");
......
PixFileDownload.prototype.fileexists = function(filename) {
PhoneGap.exec("PixFileDownload.fileExists", filename);
};
然后在Objective C,我有:
-(BOOL) fileExists:(NSMutableArray*)paramArray withDict:(NSMutableDictionary*)options;{
NSString * fileName = [paramArray objectAtIndex:0];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *newFilePath = [documentsDirectory stringByAppendingString:[NSString stringWithFormat: @"/%@", fileName]];
BOOL isMyFileThere = [[NSFileManager defaultManager] fileExistsAtPath:newFilePath];
//i'm stuck here
}
我可以使用的NSLog打印此控制台看到,逻辑不工作和BOOL设置正确。但我需要在JavaScript世界中的变量。我知道stringByEvaluatingJavaScriptFromString,但这只会执行JavaScript,即调用回调函数。这不是我所需要的在这里,我需要(在JavaScript):
var bool = fileDownloadMgr.fileexists("logo.png");
if(bool) alert('The file is there!!!!!!');
什么我需要做回从目标C回的JavaScript布尔?
outis我跟着你继续执行。你能提供一个更清晰的例子吗?谢谢 – user7865437