0

アプリは UIWebView を使用して、編集用にローカルの HTML ファイル (現在は単なるテキスト) を読み込みます。ユーザーが編集したものをローカルファイルに保存する必要があります。これは私がそれを行うことを考えることができる唯一の方法です:

ユーザーがテキストを編集したら、web ビューで現在の HTML を取得し、それをドキュメント ディレクトリに書き込まれる HTML ファイル (元のファイル名と同じファイル名) に保存する save メソッドを作成しました。理論的には、これはオリジナルを上書きするはずです。しかし、そうではありません。

-(void)save{
    NSError *err;
    NSString * docsDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *oldFile = [self.webView.request.URL lastPathComponent];
    //Above line gets the actual HTML file name that's in the webview
    NSString * path = [docsDir stringByAppendingPathComponent:oldFile];
    //The following line gets what html code is in the actual webview
    NSString *html = [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"];

    [html writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
}

ファイルが書き込まれていないようです。オリジナルを上書きしたり、新しいものを書き込んだりしません。

おそらく、この方法で保存するべきではありませんが、他の方法で保存することは考えられません。

4

0 に答える 0