В моем проекте XCode я создал HTML-файл, где я должен напечатать содержимое массива по нажатию кнопки. Как это сделать - PullRequest
1 голос
/ 05 сентября 2011

У меня был файл CSV, в котором теперь я могу читать файл CSV, содержащийся в виде массива.В моем проекте xcode я создал HTML-файл, в котором я должен напечатать содержимое массива по нажатию кнопки. Как это сделать.

Ниже приведен код моего файла .m,

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"Array"ofType:@"html"]isDirectory:NO]]];

NSString *path = [[NSBundle mainBundle] pathForResource:@"Example" ofType:@"csv"];
NSString *contents = [NSString stringWithContentsOfFile:path encoding:NSASCIIStringEncoding error:nil];
NSArray *lines = [contents componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"\n,"]];
for (NSString* line in lines) {

    NSLog(@"%@", line);            
}
NSLog(@" %d", [lines count]);

В Html-файле приведен следующий код:

<head>
    <title></title>
</head>

<body>
    <script language="JavaScript" type="text/javascript">
        <!--
        var srcFrame;
        //External content into a layer
        function loadOuter(doc) {
            srcFrame = document.getElementById("hiddenContent");
            srcFrame.src = doc;
            // workaround for missing onLoad event in IFRAME for NN6
            if (!srcFrame.onload) {
                setTimeout("transferHTML()", 1000)
            }
        }

        function transferHTML(){
            srcContent='';
            if (srcFrame.contentDocument){
                srcContent=srcFrame.contentDocument.getElementsByTagName("BODY")[0].innerHTML;
            }
            else if (srcFrame.contentWindow){
                srcContent=srcFrame.contentWindow.document.body.innerHTML;
            }
            document.getElementById("outerDisplay").innerHTML = srcContent
        }


        var DocAry=new Array('lines');

        function SelectList(v){
            if (v>0){
                loadOuter(DocAry[v-1]);
            }
        }

        //-->
        </script>

    <INPUT TYPE="button" VALUE="lines" onClick="loadOuter('lines')" >


        <br>



        <div id="outerDisplay"></div>

        <iframe  id="hiddenContent" width="200" height="200" style="position:absolute;visibility:hidden;" ></iframe>

        </body>

Мне не хватает некоторыхкод, т. е. как дать ссылку, чтобы массив, находящийся в файле .m, был связан с файлом HTML, чтобы в файле HTML я мог отображать содержимое массива на OnClick.

1 Ответ

0 голосов
/ 21 сентября 2011

Ну, у вас уже есть почти все, что вам нужно.Просто разбейте массив lines и получите его строки (вы, возможно, смотрите objectAtIndex) и сохраните их.

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

Пожалуйстадайте мне знать, если вы добились успеха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...