我有一个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层次结构如下:
但我的情况如下:
我的自定义UIViewController的.h的顶部如下所示:
不确定我是否可以将上述项目与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
这个错误意味着什么,我该如何追踪它?
答案 0 :(得分:1)
你说你有一个UIViewController
但实际上MVViewController
是一种UITableViewController
,通过两个级别的继承。
假设您已将故事板中的mainVC
类设为MVViewController
,那么需要将表视图作为其主视图是合法的。
您似乎需要将@interface MVContextMenuTableViewController : UITableViewController...
更改为@interface MVContextMenuTableViewController : UIViewController...
。