2010-08-07 65 views
0

阵列I可以按下按钮加载Web视图这样加载网页形成iphone

-(void)buttonEvent:(UIButton*)sender{ 
     NSLog(@"new button clicked!!!"); 
    if (sender.tag == 1) { 




     NSLog(@"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]]; 



    } 
} 

,但我想从我的字符串加载路径值NSString *filepat=[listItems objectAtIndex:2]; ,其值是TAB0/index1.html其中TAB0是一个文件夹

所以如何从字符串加载plz帮助

感谢

回答

2
// 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]]; 

您也可以使用像我使用的缓存 - SimpleDiskCache.m - 它将从互联网获取URL,并从磁盘缓存并获取它们。

// 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