NSInvalidArgumentException', reason: '-[UITableViewWrapperView indexPathForCell:]

11

OK, I have a problem with to upgrade from iOS 6 to 7. iOS 6 works fine but I get the following error in iOS7

I am not sure but I think the error occurs here.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Events Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

// Configure the cell...
Event *event = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = event.name;
return cell;
}

Basically when I call a TableViewCell, it brings up a Datepicker but when I hit the "Done" button it crashes. Any clues?

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewWrapperView indexPathForCell:]: unrecognized selector sent to instance 0xc133070'



2013-09-24 17:26:14.056 CRM4Life[36587:a0b] -[UITableViewWrapperView indexPathForCell:]:     unrecognized selector sent to instance 0xc133070
2013-09-24 17:26:14.097 CRM4Life[36587:a0b] *** Terminating app due to uncaught   exception 'NSInvalidArgumentException', reason: '-[UITableViewWrapperView     indexPathForCell:]: unrecognized selector sent to instance 0xc133070'
*** First throw call stack:
(
0   CoreFoundation                      0x02d425e4 __exceptionPreprocess + 180
1   libobjc.A.dylib                     0x019818b6 objc_exception_throw + 44
2   CoreFoundation                      0x02ddf903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3   CoreFoundation                      0x02d3290b ___forwarding___ + 1019
4   CoreFoundation                      0x02d324ee _CF_forwarding_prep_0 + 14
5   CRM4Life                            0x0000dd0e -[CoreDataTableViewCell resignFirstResponder] + 206
6   UIKit                               0x00640550 -[UIResponder becomeFirstResponder] + 347
7   UIKit                               0x00543d0b -[UIView(Hierarchy) becomeFirstResponder] + 114
8   UIKit                               0x00bc30e3 -[UITextField becomeFirstResponder] + 51
9   UIKit                               0x00868651 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) setFirstResponderIfNecessary] + 135
10  UIKit                               0x0086aba2 -[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] + 2640
11  UIKit                               0x0085ef8c _UIGestureRecognizerSendActions + 230
12  UIKit                               0x0085dc00 -[UIGestureRecognizer _updateGestureWithEvent:buttonEvent:] + 383
13  UIKit                               0x0085f66d -[UIGestureRecognizer _delayedUpdateGesture] + 60
14  UIKit                               0x00862bcd ___UIGestureRecognizerUpdate_block_invoke + 57
15  UIKit                               0x00862b4e _UIGestureRecognizerRemoveObjectsFromArrayAndApplyBlocks + 317
16  UIKit                               0x00859248 _UIGestureRecognizerUpdate + 199
17  UIKit                               0x00525d4a -[UIWindow _sendGesturesForEvent:] + 1291
18  UIKit                               0x00526c6a -[UIWindow sendEvent:] + 1030
19  UIKit                               0x004faa36 -[UIApplication sendEvent:] + 242
20  UIKit                               0x004e4d9f _UIApplicationHandleEventQueue + 11421
21  CoreFoundation                      0x02ccb8af __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
22  CoreFoundation                      0x02ccb23b __CFRunLoopDoSources0 + 235
23  CoreFoundation                      0x02ce830e __CFRunLoopRun + 910
24  CoreFoundation                      0x02ce7b33 CFRunLoopRunSpecific + 467
25  CoreFoundation                      0x02ce794b CFRunLoopRunInMode + 123
26  GraphicsServices                    0x02f9c9d7 GSEventRunModal + 192
27  GraphicsServices                    0x02f9c7fe GSEventRun + 104
28  UIKit                               0x004e794b UIApplicationMain + 1225
29  CRM4Life                            0x0000216d main + 141
30  CRM4Life                            0x000020d5 start + 53
31  ???                                 0x00000001 0x0 + 1
)
 libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) 
datepicker
ios7
tableviewcell
asked on Stack Overflow Sep 25, 2013 by Scubadivingfool • edited Sep 25, 2013 by Scubadivingfool

1 Answer

28
//for iOS 6 or earlier

UITableView* tableView = (UITableView *)cell.superview;

// for iOS 7 UITableViewWrapperView has been added as superview

if (IOS_7) {
    tableView = (UITableView *)cell.superview.superview;
}

In iOS7

UITableViewCellScrollView has been introduced as subviews of cell &

UITableViewWrapperView has been introduced as superviews of cell. (Just 1 level extra)

So if you want to get the UITableView instance out of UITableViewWrapperView, you will have to use superview on UITableViewWrapperView instance.

answered on Stack Overflow Sep 25, 2013 by Praveen-K • edited Sep 25, 2013 by Praveen-K

User contributions licensed under CC BY-SA 3.0