加载webview时SplitViewController应用程序崩溃

时间:2012-05-02 18:02:31

标签: ios ipad sqlite uiwebview uisplitviewcontroller

我正在开发一个使用splitViewController的应用程序,它从sqlite数据库加载html文件。我有一个iphone应用程序做同样的事情。它加载带有数据库内容的tableview,然后在用户触摸单元格时将webview推送到堆栈。一切都适用于iPhone应用程序,但不适用于带有splitViewController的iPad。除了加载webview时,一切正常。

以下是头文件中的相关代码:

    #import <UIKit/UIKit.h>

  @class LIDetailViewController;

  @interface LIMasterViewController : UITableViewController <UISearchBarDelegate>{

  @property (strong, nonatomic) LIDetailViewController *detailViewController;

在实施文件中:

@synthesize detailViewController = _detailViewController;

以下是崩溃的代码:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    if (!_detailViewController) {
        _detailViewController = [[LIDetailViewController alloc] initWithNibName:@"LIDetailViewController" bundle:nil];
    }
    [self.navigationController pushViewController:self.detailViewController  animated:YES];
}


NSString *sqlData = [animal  description];
NSString *htmlHead = @"<head><link type='text/css' rel='stylesheet' href='default.css'><head/><body><div class='content'>";
NSString *htmlBody = [sqlData stringByAppendingString:@"</div>"];   
NSString *html = [htmlHead stringByAppendingString:htmlBody];
[_detailViewController.animalDescripton loadHTMLString:html baseURL:nil];

它在崩溃的线上说:

[_detailViewController.animalDescripton loadHTMLString:html baseURL:nil];

这是调试器中的错误:“[UINavigationController animalDescripton]:无法识别的选择器发送到实例0x685fa70”

如果有人能帮助我,那就太好了!提前谢谢。

1 个答案:

答案 0 :(得分:1)

您显然从未在iPad上设置self.detailViewController,因此它似乎默认为UINavigationController