Передача значения из ObjC-кода в файл библиотеки с помощью JavaScript

#javascript #html #objective-c

#javascript #HTML #objective-c

Вопрос:

В моем проекте я считываю набор данных из файла .hsp с помощью следующего кода:

 -(void)readingFile:(NSString *)str
{
    NSString *value ;

    if([str isEqual:@"1"]){
        value =@"n";

    }else if([str isEqual:@"2"]){
        value =@"a";

    }else if([str isEqual:@"3"]){
        value =@"c";
        }
    NSLog(@"%@",value);

    NSString *path = [[NSBundle mainBundle] pathForResource:value ofType:@"hsp"];
    NSString *contents = [NSString stringWithContentsOfFile:path encoding:NSASCIIStringEncoding error:nil];
    NSArray *lines = [contents componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"rn"]];
    for (NSString* line in lines) {
        if (line.length) {
            NSLog(@"line: %@", line);
        }
    }

}
  

Данные выглядят следующим образом:

 c vo val 13

c he val 0

c rr val 0.2

c ccs val 0.10

c rr val 0.54

c cc val 9

c rr val 10.75
  

С помощью onclick переключателя на моей HTML-странице я должен передать вышеуказанные значения в файл библиотеки, который находится внутри самого проекта.

Это JS, который я использую на HTML-странице:

 function callToXcode(p1)
            {

                window.location ="call?cmd=getDetailsamp;param1=" p1;
                //alert(p1);
            }
  

итак, как передать значения в библиотеку, которая находится в проекте, из objective C.

Комментарии:

1. На самом деле вы не указали проблему.

2. Привет, Джош Касвелл, я снова отредактировал вопрос, четко указав проблему.

3. Нет, извините, вы этого не сделали. В заголовке вы спрашиваете, как передать значения ObjC-> Javascript. Но в вашем вопросе все о чтении файлов и о передаче значений Javascript-> ObjC. Пожалуйста, явно укажите, что вы хотите передать в javascript, и покажите код javascript, который должен использовать значения.

Ответ №1:

Есть 2 ответа.

Если вы хотите передать значение из одной библиотеки в другую и не знаете как, самый простой способ — сохранить данные в файле на одном языке, а когда другой будет использоваться, он прочитает файл.

Если вы используете UIWebView и хотите прочитать значение Java Script на странице, это можно сделать с помощью этой функции:

 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;
  

Затем вы можете использовать множество стратегий для подключения Java Script и Objective-c. Этот код считывает содержимое 2 текстовых полей:

 NSString *code = 
      @"var value =  document.getElementsByName('textbox1')[0].value   ";"   "
       "             document.getElementsByName('textbox2')[0].value;n"
       " value n";  //Just read the variable value to send it out
NSString *result = [webview stringByEvaluatingJavaScriptFromString:code];
  

Это создаст строку с: text1;text2 . Затем вы можете делать с этим все, что хотите.