首先,我真的很感谢你的帮助。
好吧,我在两个视图中共同使用了三个 NSString 对象。这些视图由 Embedded NavigationController 提供,我的意思是我开始使用 SingleView 进行编程。
在 AppDelegate.h 中,我写
@property (weak, nonatomic) NSString *crntURL;
@property (weak, nonatomic) NSString *crntTitle;
@property (weak, nonatomic) NSString *crntHTML;
为委派。
在第一个视图中,我有一个 webview 并写
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
NSString *url = [[NSString alloc] initWithString:[myWebView stringByEvaluatingJavaScriptFromString:@"document.URL"]];
NSString *title = [[NSString alloc] initWithString:[myWebView stringByEvaluatingJavaScriptFromString:@"document.title"]];
NSString *html = [[NSString alloc] initWithString:[myWebView stringByEvaluatingJavaScriptFromString:@"document.all[0].outerHTML"]];
appDelegate.crntTitle = nil;
appDelegate.crntTitle = [[NSString alloc] initWithString:title];
appDelegate.crntHTML = nil;
appDelegate.crntHTML = [[NSString alloc] initWithString:html];
appDelegate.crntURL = nil;
appDelegate.crntURL = [[NSString alloc] initWithString:url];
}
在这里,当我放置 NSLog 时,会转储预期的 HTML 源代码。
在第二个视图(UIViewController 的子类)中,我写
- (void)viewDidLoad
{
// Do any additional setup after loading the view.
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
sourceHTML.text = appDelegate.crntHTML;
NSLog( @"%@", appDelegate.crntHTML );
NSLog( @"%@", appDelegate.crntURL );
NSLog( @"%@", appDelegate.crntTitle );
[super viewDidLoad];
}
只有 crntHTML 意外设置为 null 而 crntURL 和 crntTitle 保留值。
你有什么想法?
先感谢您。
胜