initWithContentsOfFile已弃用

时间:2012-01-24 09:14:27

标签: iphone cocoa-touch webview

我想知道我可以使用哪些代码而不是initWithContentsOfFile:因为我一直在寻找一些不被弃用但却找不到的东西。我正在尝试在webview中显示本地HTML文件,下面是代码:

- (void)viewDidLoad {
    [super viewDidLoad];

    NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
    NSURL *bundleUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
    NSString *html = [[NSString alloc] initWithContentsOfFile:htmlPath];
    [self.myWebView loadHTMLString:html baseURL:bundleUrl];

}

我收到一条警告,说initWithContentsOfFile:已弃用,想知道如何更新它。

2 个答案:

答案 0 :(得分:16)

试试这个:

NSError *error = nil;
NSString *string = [[NSString alloc] initWithContentsOfFile:@"/path/to/file.txt" encoding:NSUTF8StringEncoding error:&error];

答案 1 :(得分:0)

使用较新的初始化程序:

NSString的[initWithContentsOfFile: encoding: error:]方法,如果出现任何问题,您可以将有用的错误传回给您。我已经为你链接了文档。如果您不知道文件的编码,您还可以使用另一个具有usedEncoding参数的方法。