iostream 01:16:06
//1.第一种方式:加载本地文件 index.html.
//2.filePath为本地index的地址
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSLog(@"filePath=%@",filePath);
NSURL *baseURL = [[NSBundle mainBundle] bundleURL];
[self.webView loadHTMLString:[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil] baseURL:baseURL];
//这种方式需要在Build Phases->Copy Boundle Resources 添加这个index.htlm文件。
//我用的是这种
2.通过NSBundle获取文件路径的细节问题
NSString * mainBuild = [[NSBundle mainBundle] bundlePath];
NSString *strurl= [NSString stringWithFormat:@"%@/index.html",mainBuild];
NSLog(@"strurl=%@",strurl);
UIWebView *web = [[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
web.delegate = self;
[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:strurl]]];
[self.view addSubview:web];
//这种方式注意index的文件路径文件夹要是蓝色的那种导入方法
NSString *imagePath = [NSString stringWithFormat:@"%@/changshuImages/1.jpg",[[NSBundle mainBundle] bundlePath]];
通过NSBundle来获取项目中的文件路径,然后创建UIImage对象,但是问题是创建出来的UIImage对象始终为null。
后来发现在往项目中拖拽文件的时候,如果想通过bundlePath来获取路径,那么在选择的时候有区别。
一般情况下我们是这样拖拽
Destination:copy items into destination group's folder (if needed)
//导入文件的时候会是逻辑结构,而不是物理结构,目录结构图标如下,黄色的文件夹结构,和构建的Group是一样的
Folders: create groups for any added folders
Add to targets :projectName;
这样的选择我们永远都无法通过bundlePath来获取文件的路径
Destination:Copy items into destination group's folder (if needed)
//创建引入的是蓝色的文件夹结构,物理路径
Folders:create folder references for any added folders
Add to targets: projectName
这样就可以通过bundlePath来获取路径了
网友评论