gpt4 book ai didi

objective-c - 未声明的方法错误 objective-c IOS

转载 作者:行者123 更新时间:2023-12-01 18:00:33 25 4
gpt4 key购买 nike

我是Obejctive C的新手,所以如果这是一个简单的问题,请原谅我。我正在尝试使以下代码正常工作(来自Facebook IOS集成教程),但在运行时出现错误

- (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];
}

我真的很感谢有人对此提供的帮助,一直在努力理解这一点无济于事。

梅尔文

最佳答案

冒号是选择器名称的一部分:

@selector(logoutButtonClicked:)
^

不是
@selector(logoutButtonClicked)

关于objective-c - 未声明的方法错误 objective-c IOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10569948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com