Я пытаюсь передать содержимое masterview после создания проекта на основе шаблона приложения master / detail.
У меня есть модель, которая содержит все мои данные, которые могут измениться позже. Я хочу автоматически подавать содержимое табличного представления, указав количество строк в разделе и количество разделов, в которых используется эта модель.
Мне удается это сделать, переопределив следующие 2 функции:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
Я получил исключение NSRangeException, хотя, если я не редактировал раскадровку для Master View Controller - Master Scene, чтобы он отражал большее количество разделов и строк в разделах, чем в моей модели.
Например: я оставил раскадровку для главной сцены с 1 секцией и 1 строкой. Если я верну 2 в функции numberOfRowsInSection, моя программа будет аварийно завершена во время выполнения с этой ошибкой NSRangeExceptionError:
2011-10-10 14:38:53.042 sample_project[3636:f803] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]'
*** First throw call stack:
(0x13bb052 0x154cd0a 0x13a7674 0x432805 0x24227a 0x1ed548 0x1ef722 0x9f7c7 0x9f2c1 0xa228c 0xa6783 0x51301 0x13bce72 0x1d6592d 0x1d6f827 0x1cf5fa7 0x1cf7ea6 0x1d8330c 0x114c6 0x11bd6 0x20743 0x211f8 0x14aa9 0x12a5fa9 0x138f1c5 0x12f4022 0x12f290a 0x12f1db4 0x12f1ccb 0x112a7 0x12a9b 0x25e2 0x2555)
terminate called throwing an exceptionsharedlibrary apply-load-rules all
Current language: auto; currently objective-c
(gdb)
Кто-нибудь видит причину такого поведения? Я что-то пропустил? Нужно ли выполнить дополнительную инициализацию, которая установит размер таблицы по умолчанию в функции didLoad контроллера?