Objective c iOS:NSURLRequest每次在不同的故事板上返回相同的页面

Objective c iOS:NSURLRequest每次在不同的故事板上返回相同的页面,objective-c,uiwebview,ios6,xcode4.5,Objective C,Uiwebview,Ios6,Xcode4.5,我有一个UIWebView类,该类在加载时添加到每个情节提要中,但是当将我需要的来自父级ViewController的页面传递到该类时,它只显示第一个页面中的文件,并且在每个不同的页面/ViewController上它是相同的,尽管我在每个页面上设置的页面不同 它是否以某种方式缓存此页面?如果是这样,我如何每次都拥有一个干净的UIWebview 我的UIwebview类m文件(ContentView.m): 我的父视图使用以下变量pageToDisplay传递请求的页面: 父视图m文件: #

我有一个
UIWebView
类,该类在加载时添加到每个情节提要中,但是当将我需要的来自父级
ViewController
的页面传递到该类时,它只显示第一个页面中的文件,并且在每个不同的页面/ViewController上它是相同的,尽管我在每个页面上设置的页面不同

它是否以某种方式缓存此页面?如果是这样,我如何每次都拥有一个干净的
UIWebview

我的UIwebview类m文件(ContentView.m):

我的父视图使用以下变量
pageToDisplay
传递请求的页面:

父视图m文件:

  #import "ContentView.h"

    - (void)viewDidLoad {
        ContentView *dispalyPageContent = [[ContentView alloc] init];
         [dispalyPageContent setPageToDisplay:@"THEpg1"];
         [self.view addSubview:dispalyPageContent];
          //-- 
         [super viewDidLoad];
    }
对于其他父视图,代码相同,但
[displayPageContent setPageToDisplay:@“THEpg1”]应该更改我想要的页面,例如,下一个视图将是[displayPageContent setPageToDisplay:@“THEpg2]”


是否可以清除此项并每次加载新请求?

这是因为当您调用
ContentView*dispalyPageContent=[[ContentView alloc]init]
在您的
视图didload
中,您可以使用以下命令初始化它:

NSString *urlpath = [[NSBundle mainBundle] pathForResource:pageToDisplay ofType:@"html" inDirectory:@"pageContent"];
在pathForResource:pageToDisplay中,初始化时显示的是一些垃圾

然后,当您调用
[dispalypage内容setPageToDisplay:@“smth”]
时,它不会改变任何内容,因为您的类
ContentView
已在
PageToDisplay
中使用一些垃圾初始化

(另外,您可以调用
[[ContentView alloc]init];
并且在您的代码中只有
initWithFrame:…
用于
ContentView
类的对象)

您可以通过以下方式解决此问题: 1) 在您的ContentView.m中

 - (id)initWithFrame:(CGRect)frame pageToDisp:(NSString *)pageToDisp {
     self = [super initWithFrame:frame];
     if (self) {
         NSString *urlpath = [[NSBundle mainBundle] pathForResource:pageToDisp ofType:@"html" inDirectory:@"pageContent"];
          NSURL *url=[[NSURL alloc] initFileURLWithPath:urlpath];
          NSURLRequest *request=[NSURLRequest requestWithURL:url];

          [self loadRequest:request];
       }
      return self;
  }
2) 在您的ContentView.h中:

- (id)initWithFrame:(CGRect)frame pageToDisp:(NSString *)pageToDisp
3) 然后,在viewDidLoad中:

- (void)viewDidLoad {
        ContentView *dispalyPageContent = [[ContentView alloc] initWithFrame:someFrame pageToDisp:@"THEpg1"];

         [self.view addSubview:dispalyPageContent];
          //-- 
         [super viewDidLoad];
    }

感谢您的回复,但我收到了以下错误:“ContentView”没有可见的@interface声明选择器“pageToDisp:使用以下ContentView*dispalyPageContent=[[ContentView alloc]initWithFrame:CGRectMake(10,60,300,300)pageToDisp:@“THEpg1]”;thanksApologise在查看代码时,我可能错过了initwithframe方法末尾的额外变量,当我返回时将重试,并让您知道谢谢
- (void)viewDidLoad {
        ContentView *dispalyPageContent = [[ContentView alloc] initWithFrame:someFrame pageToDisp:@"THEpg1"];

         [self.view addSubview:dispalyPageContent];
          //-- 
         [super viewDidLoad];
    }