1

我正在开发一个使用 splitViewController 从 sqlite 数据库加载 html 文件的应用程序。我有一个做同样事情的 iPhone 应用程序。它加载一个带有数据库内容的表格视图,然后当用户触摸一个单元格时将一个 web 视图推送到堆栈上。一切都适用于 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]: unrecognized selector sent to instance 0x685fa70”

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

4

1 回答 1

1

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

于 2012-05-02T21:53:16.890 回答