I would like to display popovers with UITableView‘s as content (this works) on some button presses and then get the selected item as string as buttontitle or some textview text. I’ve found a few example on how to do this with protocols but still get an error.
My code:
In popoverViewController.h
@protocol popoverViewControllerDelegate <NSObject>
-(void)getRowText:(NSString *)string;
@end
I declare an id delegate2 variable and set its property to:
@property(nonatomic,assign) id<popoverViewControllerDelegate> delegate2;
In the popoverViewController.m file I synthesize the variable, and in didSelectRowAtIndexPath method I have this, and this line seems to cause the error I`m having:
[self.delegate2 getRowText:[someArray objectAtIndex:indexPath.row];
In mainViewController.m I add the popoverViewControllerDelegate to the ViewControllers protocol and have its header file imported. And then have some code in the -(void)getRowText: method which doesnt get called.
UIPopovers and such are set up as they work as needed, problem arises when I press a row in the tableview. I get the
Terminating app due to uncaught
exception
‘NSInvalidArgumentException’, reason:
‘* -[UIPopoverViewController
getRowText:]: unrecognized selector
sent to instance 0x57ca80′
Could anyone give some advice with this?
Finally found the error and cant believe how silly I/it was.
I had a viewController.delegate2 = self. line with period instead of a semicolon, I wonder why it compiled tho.