Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 嵌入的html文件-什么是目录?_Objective C_Ios - Fatal编程技术网

Objective c 嵌入的html文件-什么是目录?

Objective c 嵌入的html文件-什么是目录?,objective-c,ios,Objective C,Ios,这是我的代码: -(void)viewDidLoad { [super viewDidLoad]; NSString *indexPath = [NSBundle pathForResource:@"iHelp" ofType:@"html" inDirectory:nil]; [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:indexPath]]]; } 应用程序正在崩

这是我的代码:

-(void)viewDidLoad
{
    [super viewDidLoad];

    NSString *indexPath = [NSBundle pathForResource:@"iHelp" ofType:@"html" inDirectory:nil];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:indexPath]]];
}
应用程序正在崩溃,因为目录名的“nil”无效(DUH!)。那么对于嵌入的html文件,应该放在哪里呢


更新:发现“webView”没有出口,尽管在.h文件中定义了一个出口。。。我会关闭这个,因为我相信这里有答案。将打开一个新的问题:出口。。。谢谢大家

如果它不在文件夹引用中,只需忽略该参数:

[[NSBundle mainBundle] pathForResource:@"iHelp" ofType:@"html"];
您甚至可以直接转到URL:

[[NSBundle mainBundle] URLForResource:@"iHelp" withExtension:@"html"];

如果文件
iHelp
位于主捆绑包中,则可以如下方式检索其路径:

NSString *indexPath = [[NSBundle mainBundle] pathForResource:@"iHelp" ofType:@"html"];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:indexPath]]];
您也可以按如下方式执行此操作:

NSURL *indexURL = [[NSBundle mainBundle] URLForResource:@"iHelp" withExtension:@"html"];
[webView loadRequest:[NSURLRequest requestWithURL:indexURL]];

删除
inDirectory:
参数,因为它将默认为当前捆绑包。注意:它是一个实例方法

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- (void)viewDidLoad
{
    [super viewDidLoad];

    NSBundle *bundle = [NSBundle mainBundle];
    NSString *indexPath = [bundle pathForResource:@"iHelp" ofType:@"html"];
    [webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:indexPath]]];

不会的。类型为的类方法pathForResource:甚至不存在。并且代码将不会编译。第一个错误:选择器“pathForResource:的类方法未知:'2nd错误:选择器“URLForResource:的类方法未知:'withExtension:'抱歉,我的错误应该是[NSBundle mainBundle],而不仅仅是NSBundle]1st导致崩溃;第二个没有崩溃,但得到一个白色屏幕,没有html显示。你得到了什么错误?我想一定是文件本身不存在。你是如何把文件放在哪里的?@spokane dude-两种方法都有效。我已经测试过了。这一定是另一个问题,比如文件没有与应用捆绑在一起。它不是文件(它在那里)。。。插座有问题。当我尝试将uiwebview连接到“文件所有者”(我使用的是XCode4和Storyboard,因此不再有“文件所有者”)时,它不会只显示“视图”。“webview”被声明为IOBoutlet,但由于某些原因,它没有看到它。要我提出一个新问题吗?第一种方法会出现什么错误?如果由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“***-[NSURL initFileURLWithPath:::nil字符串参数”,则该文件不存在。