我正在寻找将一个 NSArray 从 viewcontroller.m 文件发送到 data.js 文件,但它没有在 JavaScript 中打印任何内容。以下是我的代码。
在我的 viewdidload 方法中
- (void)webViewDidFinishLoad:(UIWebView*)theWebView
{
// Black base color for background matches the native apps
CDV=[[CDVViewController alloc]init];
news=[[NSArray alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"latest news" ofType:@"plist"]];
NSArray *newsItems=[[NSArray alloc]init];
newsItems=[news valueForKey:@"News"];
NSData *jsonArray = [self arrayToJSON:newsItems];
NSString *jsonString = [[NSString alloc] initWithData:jsonArray
encoding:NSUTF8StringEncoding];
NSString *jsCall = [NSString stringWithFormat:@"yourJsFunction([%@])", jsonString];
[theWebView stringByEvaluatingJavaScriptFromString:jsCall];
NSLog(@"%@",jsonString);
// theWebView.backgroundColor = [UIColor blackColor];
return [super webViewDidFinishLoad:theWebView];
}
- (NSData *) arrayToJSON:(NSArray *) inputArray
{
NSError *error = nil;
id result = [NSJSONSerialization dataWithJSONObject:inputArray
options:kNilOptions error:&error];
if (error != nil) return nil;
return result;
}
在我的 one.js 文件中,我有以下代码:
function yourJsFunction(arr){
for(var i=0;i<arr.length;i++){
document.write(arr[i]);
}
return arr;
}
输出是:
ഡാറ്റാസെന്റർ:സത്യവാങ്മൂലംഅനുമതി,കാശ്മീർനയത്തിൽയുയുഎസ് എസ് എസ് എസ് എസ് എസ്യുയുയുയുസമയപരിധിസമയപരിധിതീരാൻതീരാൻതീരാൻതീരാൻമാത്രംമാത്രംമാത്രംമാത്രം;ഇനി;ഇനിഇനിജയിൽശിക്ഷയും,ഡീസൽഡീസൽ:കെഎസ്ആർടിസിസബ്സിഡി:കെഎസ്ആർടിസികെഎസ്ആർടിസിസമർപ്പിക്കണം സമർപ്പിക്കണം സമർപ്പിക്കണം
但我希望他们每个人分开而不是放“,”
电流输出:
新图片