Objective c 未声明的方法错误目标C IOS
我是Obejctive C的新手,如果这是一个简单的问题,请原谅我。我正试图从Facebook IOS集成教程中获取以下代码,但我在这一行遇到了一个错误Objective c 未声明的方法错误目标C IOS,objective-c,ios,methods,Objective C,Ios,Methods,我是Obejctive C的新手,如果这是一个简单的问题,请原谅我。我正试图从Facebook IOS集成教程中获取以下代码,但我在这一行遇到了一个错误 - (void) logoutButtonClicked:(id)sender { [facebook logout]; 我得到了错误 使用未声明的标识符logoutButtonClicked。我知道这意味着我正在实现一个未定义的方法。所以我的问题是,下面代码中定义的方法在哪里 我已经看到一个解决方案张贴在这里,但它不适合我,这个错误
- (void) logoutButtonClicked:(id)sender {
[facebook logout];
我得到了错误
使用未声明的标识符logoutButtonClicked。我知道这意味着我正在实现一个未定义的方法。所以我的问题是,下面代码中定义的方法在哪里
我已经看到一个解决方案张贴在这里,但它不适合我,这个错误仍然存在。
我已经尝试了其他方法来尝试和修复,但是请有人确认这段代码在做什么
我的理解是,我们开始创建指向UIButton的logoutButton指针,然后设置它的参数。
然后,我们使用选择器为UIControlEventTouchInside方法定义操作消息LogoutButtonClicked
我不完全理解该方法是如何声明的,因为我认为这里的行定义了实例方法:
-(void) logoutButtonClicked:(id)sender {
[facebook logout];
或者该方法是在中声明的
[logoutButton addTarget:self action:@selector(logoutButtonClicked)
forControlEvents:UIControlEventTouchUpInside];
// Add the logout button
UIButton *logoutButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
logoutButton.frame = CGRectMake(40, 40, 200, 40);
[logoutButton setTitle:@"Log Out" forState:UIControlStateNormal];
[logoutButton addTarget:self action:@selector(logoutButtonClicked)
forControlEvents:UIControlEventTouchUpInside];
[self.viewController.view addSubview:logoutButton];
// Method that gets called when the logout button is pressed
- (void) logoutButtonClicked:(id)sender {
[facebook logout];
}
我真的很感激有人在这方面提供帮助,我一直在努力理解这一点,但毫无结果
Melvin冒号是选择器名称的一部分:
@selector(logoutButtonClicked:)
^
不是
冒号是选择器名称的一部分:
@selector(logoutButtonClicked:)
^
不是
您似乎在另一个方法的中间定义一个方法右击。你不能那样做。台词:
- (void) logoutButtonClicked:(id)sender {
[facebook logout];
}
必须出现在任何其他方法之外,而不是在另一个方法的卷曲括号{…}中。
您似乎在另一个方法的中间定义一个方法右击。你不能那样做。台词:- (void) logoutButtonClicked:(id)sender {
[facebook logout];
}
必须出现在任何其他方法之外,而不是另一个方法的大括号{…}内。这是正确的,但不对OP询问的错误负责。编译器不关心是否将未实现/未定义/未声明方法的选择器放入@selector中。直到运行时才出现错误。@kenthomass nope--未声明的选择器和-Werror将在编译时执行此操作。就位置而言:你的回答中的good catch+1这是正确的,但对OP询问的错误不负责任。编译器不关心是否将未实现/未定义/未声明方法的选择器放入@selector中。直到运行时才出现错误。@kenthomass nope--未声明的选择器和-Werror将在编译时执行此操作。至于位置:回答正确+1