2013-04-17 34 views
5

Sử dụng iOS6 và bảng phân cảnh, tôi có UITableViewController có 3 phần.NSRangeException trong UITableViewController với nội dung động/tĩnh hỗn hợp

Hai phần đầu tiên là tĩnh và phần thứ ba là động.

Tôi đã ghi đè numberOfRowsInSection, cellForRowAtIndexPathheightForRowAtIndexPath đúng hoãn đến siêu cho phần 0 và 1, và để trở về giá trị thích hợp từ mô hình dữ liệu của tôi cho phần 2.

Tuy nhiên, tôi nhận được một NSRangeException trong main() khi số lượng hàng trong dữ liệu của tôi vượt quá số lượng hàng được cấu hình trong Storyboard cho phần thứ ba:

'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

nào superClass phương pháp tôi phải ghi đè lên để ngăn chặn ngoại lệ này xảy ra?

Trả lời

11

Việc thực hiện tôi đã mất tích là:

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

Điều này có nghĩa là tổng cộng bốn phương pháp người ta phải ghi đè lên để tiêm hành vi động thành một nguyên mẫu UITableViewController tĩnh:

  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

Hy vọng điều này giúp tiết kiệm một ai đó một thời gian.

+0

Holy crap bạn nói đúng. Tôi sẽ không bao giờ đoán được điều đó. Đã có vấn đề tương tự trong 24 giờ qua và đã xé tóc ra. Cảm ơn!!!!!!!!!! – nurider

Các vấn đề liên quan