Use colon : or not with selectors
I was wondering: what's the difference between writing a selector name with no colon @selector(mySelector) , or @selector(mySelector:) with the colon? As in: UIBarButtonItem *addButton = [[UIBarButtonItem alloc]initWith... target:self action:@selector(addAction:)]; I can't find another example without the colon, but I'm quite sure I have already seen some of them. The colon is needed after the method's name if and only if the method takes an argument. No function parameters: -(void)addAction {} // Use ...@selector(addAction)... Has parameter: -(void)addAction:(id)info {} // Use ...@selector