gpt4 book ai didi

iphone - 在单个文件中混合使用 Objective C 和 C++ 的问题

转载 作者:搜寻专家 更新时间:2023-10-30 20:00:57 24 4
gpt4 key购买 nike

我有 .mm 文件,其中有一些 C++ 函数和几行 Objective-C 。

例如。

void display()
{
....
....
}

void doSomthing()
{
UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
[button addTarget:??? action:@selector(display) ....]

[rooView addSubView:UIButton];
}

我不知道如何调用在同一个 mm 文件中定义的显示函数?我的 addTarget 是什么? ( self /这在我的情况下不起作用)

最佳答案

您不能使用 @selector() 来引用一个函数,您只能用它来引用一个 objective-c 方法。

此外,UIButton 类在单击时无法执行函数调用。它只能执行一个 objective-c 方法。

但是,您可以围绕该函数“包装”一个 objective-c 方法:

- (void)display:(id)sender
{
display();
}

允许这样做:

[button addTarget:self action:@selector(display:) ....];

但是如果您正在编写自己的 display() 函数,那么您也可以将它的内容放在 display 方法中。

关于iphone - 在单个文件中混合使用 Objective C 和 C++ 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601545/

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