Я пытаюсь вставить пользовательский UITableViewController
внутри Container View
. Контейнерный вид помещается внутри ячейки статического UITableView, как показано на рисунке ниже.Пользовательский UITableViewController внутри контейнера Вид: NSInternalInconsistencyException
Я просто хочу способ объединить статические с динамическими клетками в том же экране.
Identity Inspector
В случае, когда поле Класс пуст (т.е. стандарт UITableViewController) он работает, показывая пустую динамическую таблицу внутри клетки. Но когда я кладу имя пользовательского класса (который расширяет UITableViewController) в этой области я получаю NSInternalInconsistencyException
:
[UITableViewController loadView] loaded the "Enx-aT-Rum-view-zY2-9U-Z6d" nib but didn't get a UITableView.
Это содержимое MyCustomUITableViewController:
@implementation MyCustomUITableViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 2;
}
@end
я должен признать, что я до сих пор дон Не понимаю всей логики Container View, но я просто хочу показать только один вид внутри (не делать никаких обменов или иначе).
Любая помощь будет оценена, спасибо!
Я не уверен, почему вы получили эту ошибку, но похоже, что сочетание статических и динамических ячеек - это трудный путь (особенно, поскольку у вас есть только 2 строки). Вы ничего не можете сделать со статической ячейкой, которую вы не можете сделать с динамическими, поэтому я бы просто использовал все динамические ячейки. – rdelmar
нет 2 пример, может быть больше. Я предпочитаю статичность для остальных, потому что я построил весь интерфейс в раскадровке, иначе мне пришлось делать это программно. В любом случае мне нравится ваша точка – Sanandrea
Вы все равно можете использовать свои интерфейсы, которые вы создали в раскадровке в динамической ячейке; вам не нужно делать это в коде. Просто имейте уникальный идентификатор для каждой ячейки, которую вы создаете, и удалите все, что вам нужно, на основе indexPath. – rdelmar