2013-04-17 11 views
5

Mit iOS6 und Storyboards habe ich einen UITableViewController mit 3 Abschnitten.NSRangeException in einem UITableViewController mit gemischten statischen/dynamischen Inhalten

Die ersten beiden Abschnitte sind statisch und der dritte ist dynamisch.

I numberOfRowsInSection außer Kraft gesetzt habe, cellForRowAtIndexPath und heightForRowAtIndexPath richtig für Abschnitte zu Super verschieben 0 und 1, und die entsprechenden Werte aus meinem Datenmodell zurückzukehren für Abschnitt 2.

Trotzdem bekomme ich eine NSRangeException in main() wenn die Anzahl der Zeilen in meine Daten überschreitet für den dritten Abschnitt die Anzahl der Zeilen in der Storyboard konfiguriert:

'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 1 beyond bounds [0 .. 0]' *** First throw call stack: (0x22f3012 0x178ae7e 0x22a8b44 0xb0ece4 0x8feee3 0x784f13 0x71940c 0x784a7b 0x789919 0x7899cf 0x7721bb 0x782b4b 0x71f2dd 0x179e6b0 0x558fc0 0x54d33c 0x54d150 0x4cb0bc 0x4cc227 0x4cc8e2 0x22bbafe 0x22bba3d 0x22997c2 0x2298f44 0x2298e1b 0x26867e3 0x2686668 0x6ceffc 0x2c4d 0x2b75) libc++abi.dylib: terminate called throwing an exception

Welche Methoden Superklasse muss ich, um überschreiben diese Ausnahme zu verhindern?

Antwort

11

Die Implementierung ich fehlte, war:

-(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath { return 0; }

Dies bedeutet, dass es insgesamt vier Methoden ist ein außer Kraft setzen müssen dynamisches Verhalten in einen statischen Prototyp UITableViewController zu injizieren:

  1. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section ;

  2. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

  3. -(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

  4. -(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath

Hoffnung dies einige Zeit spart jemand.

+0

Heiliger Mist du hast Recht. Das hätte ich nie gedacht. Hatte dasselbe Problem für die letzten 24 Stunden und riss mir die Haare aus. Vielen Dank!!!!!!!!!! – nurider

Verwandte Themen