2010-08-07 64 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