我是目标C的新手,所以也许我有一些关于选择器的基本事情。我想了解这个错误背后的基本概念,因为我没有找到一般错误参考。
使用时出现此错误:
[CloseButton addTarget:PageContents action:@selector(CloseButtonPressed) forControlEvents:UIControlEventTouchUpInside];
然后再说:
- (void)CloseButtonPressed:(id)sender{
UIAlertView *someError = [[UIAlertView alloc] initWithTitle: @"Comment" message: @"hello" delegate: self cancelButtonTitle: @"Ok" otherButtonTitles: nil];
[someError show];
[someError release];
}
答案 0 :(得分:3)
一些建议可以帮助您的代码遵循所有Objective C应用程序使用的编写约定,并使您的代码更容易被其他人读取:
closeButton
而非CloseButton
和pageContents
,而不是PageContents
-closeButtonPressed:
而不是-CloseButtonPressed:
要回答您的问题,您需要修复要添加的操作:
[CloseButton addTarget:PageContents action:@selector(CloseButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
结肠字符(:
)确保sender
通过-CloseButtonPressed:
答案 1 :(得分:0)
当CloseButtonPressed接受参数时,你应该使用:@selector(CloseButtonPressed:)