load web pages form Array for iphone
i can load web view on button press like this
-(void)buttonEvent:(UIButton*)sender{
NSLog(@"new button clicked!!!");
if (sender.tag == 1) {
N开发者_如何学PythonSLog(@"1");
}
if (sender.tag == 2) {
NSLog(@"2");
NSString *path;
NSBundle *thisBundle = [NSBundle mainBundle];
path = [thisBundle pathForResource:@"index2" ofType:@"html"];
NSURL *instructionsURL = [[NSURL alloc] initFileURLWithPath:path];
[webView loadRequest:[NSURLRequest requestWithURL:instructionsURL]];
}
}
but i want to load the path value from my string NSString *filepat=[listItems objectAtIndex:2];
whose value is tab0/index1.html where tab0 is a folder
so how to load from that string plz help
Thanks
// get the app's base directory
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
// get the dir/filename
NSString *filepat=[listItems objectAtIndex:2];
// concatenate for full path
NSString *filePath = [basePath stringByAppendingString:filepat];
NSURL *instructionsURL = [[NSURL alloc] initFileURLWithPath:filePath];
[webView loadRequest:[NSURLRequest requestWithURL:instructionsURL]];
You could also use a cache like I use - SimpleDiskCache.m - which will fetch URLs from the internet, and cache and fetch them from disk.
// SimpleDiskCache.h
@interface SimpleDiskCache : NSObject { }
+ (void) cacheURL:(NSURL*) url forData:(NSData*)data;
+ (NSData*) getDataForURL:(NSURL*) url;
@end
// SimpleDiskCache.m
#import "SimpleDiskCache.h"
#import "util.h"
@implementation SimpleDiskCache
+ (NSCharacterSet*) getNonAlphaNumericCharacterSet {
static NSCharacterSet* cs;
if (!cs) {
cs = [[NSCharacterSet alphanumericCharacterSet] invertedSet];
cs = [cs retain];
}
return cs;
}
+ (void) cacheURL:(NSURL*) url forData:(NSData*)data {
NSString* filename = [[[url absoluteString] componentsSeparatedByCharactersInSet:
[NSCharacterSet punctuationCharacterSet]] componentsJoinedByString:@""];
NSString * storePath = [NSTemporaryDirectory() stringByAppendingPathComponent:filename];
[data writeToFile:storePath atomically:NO];
}
+ (NSData*) getDataForURL:(NSURL*) url {
NSString* filename = [[[url absoluteString] componentsSeparatedByCharactersInSet:
[NSCharacterSet punctuationCharacterSet]] componentsJoinedByString:@""];
NSString * storePath = [NSTemporaryDirectory() stringByAppendingPathComponent:filename];
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:storePath]) {
return [NSData dataWithContentsOfFile:storePath];
}
return nil;
}
@end
精彩评论