我可以像这样访问和显示Xcode包中的文件:
NSString *file = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"pdf"];
现在我要做的是使用这个JSON填写文件的名称,它会获取正确的名称:
self.localFileName = [BT_strings getJsonPropertyValue:self.screenData.jsonVars:@"localFileName":@""];
如何将这两件事放在一起,以便我可以使用JSON名称调用Bundled文件?
以下是整个事情:
//
// ReaderDemoController.m
// PDFViewer
//
// Created by C. A. Beninati on 5/21/12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
//BT imports
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import <MediaPlayer/MediaPlayer.h>
#import "JSON.h"
#import "BT_strings.h"
#import "testapp_appDelegate.h"
#import "BT_fileManager.h"
#import "BT_color.h"
#import "BT_viewUtilities.h"
#import "BT_downloader.h"
#import "BT_item.h"
#import "BT_debugger.h"
#import "BT_viewControllerManager.h"
#import "ReaderDemoController.h"
#import "ReaderViewController.h"
@interface ReaderDemoController ()<ReaderViewControllerDelegate>
@end
@implementation ReaderDemoController
@synthesize localFileName;
- (void)viewDidLoad
{ [BT_debugger showIt:self:@"ZZZZZZZZZZ!!!"];
[super viewDidLoad];
self.localFileName = [BT_strings getJsonPropertyValue:self.screenData.jsonVars:@"localFileName":@""];
self.localFileName = @""; // added this to make it work!!
NSString *file=[[NSBundle mainBundle]pathForResource:self.localFileName ofType:@"pdf"];
ReaderDocument *document = [ReaderDocument withDocumentFilePath:file password:nil];
if (document != nil)
{
ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
readerViewController.delegate = self;
readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:readerViewController animated:YES];
}
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (void)dismissReaderViewController:(ReaderViewController *)viewController {
[self dismissModalViewControllerAnimated:YES];
}
@end
答案 0 :(得分:1)
如果您从“self.localFilename”获取正确的文件名,那么除了将其传递给您的文件之外,您无需执行任何操作:
NSString * file = [[NSBundle mainBundle] pathForResource:self.localFileName ofType:@“pdf”];