UITableViewController loadView加载了“2-view-3”笔尖,但没有得到UITableView

时间:2013-12-14 20:00:46

标签: iphone objective-c uitableview uiviewcontroller ios7

我有一个UIViewController,在IB中将UITableView放到它上面。它构建正常,但是当我运行它时会崩溃并出现错误:

  

[UITableViewController loadView]加载了“2-view-3”笔尖,但没有得到UITableView

我正在使用Storyboards。我的视图是一个UIViewController而不是UITableViewController但在某个地方它似乎期望它正在加载一个UITableViewController。在IB中,我将UIViewController的类设置为我的自定义UIViewController类,其类型为UIViewController。

我正在尝试在我的项目中开展工作的代码:https://github.com/daria-kopaliani/DAContextMenuTableViewController

但它使用UITableViewController。我的项目使用带有UITableView的UIViewController。演示项目的IB层次结构如下:

enter image description here

但我的情况如下:

enter image description here

我的自定义UIViewController的.h的顶部如下所示:

UIViewController snapshot

不确定我是否可以将上述项目与UITableViewController以外的任何东西一起使用,但这正是我想要做的。

更新:

 (void)viewDidLoad
{
[super viewDidLoad];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refresh) name:@"refreshTable" object:nil];

[NSFetchedResultsController deleteCacheWithName:nil];

[self initializeDateFormatter];
[self initializeTimeFormatter];

if (self.managedObjectContext == nil) {
    self.managedObjectContext = [[MVCoreDataController sharedInstance] newManagedObjectContext];
}

self.tblList.delegate = self;
self.fetchedResultsController.delegate = self;
self.tblList.dataSource = self;
self.myNavBar.delegate = self;

// Do any additional setup after loading the view, typically from a nib.

}

UPDATE 2(为MVContextMenuTableViewController添加接口):

#import <UIKit/UIKit.h>
#import "MVContextMenuCell.h"
#import "MVOverlayView.h"


@interface MVContextMenuTableViewController : UITableViewController <MVContextMenuCellDelegate, MVOverlayViewDelegate,     UITableViewDelegate>

@property (readonly, strong, nonatomic) MVContextMenuCell *cellDisplayingMenuOptions;
@property (assign, nonatomic) BOOL shouldDisableUserInteractionWhileEditing;

- (void)hideMenuOptionsAnimated:(BOOL)animated;

@end

这个错误意味着什么,我该如何追踪它?

1 个答案:

答案 0 :(得分:1)

你说你有一个UIViewController但实际上MVViewController是一种UITableViewController,通过两个级别的继承。

假设您已将故事板中的mainVC类设为MVViewController,那么需要将表视图作为其主视图是合法的。

您似乎需要将@interface MVContextMenuTableViewController : UITableViewController...更改为@interface MVContextMenuTableViewController : UIViewController...