gpt4 book ai didi

ios - swift 中指向方法的指针数组

转载 作者:可可西里 更新时间:2023-11-01 01:06:52 24 4
gpt4 key购买 nike

我正在寻找一种方法来做一些事情,比如 C++ 中的方法指针数组或 objective-c 中的选择器数组。

使用名为 A 的类:

class A
{
func function1() -> Int
{
// Do something cool here
return 0;
}

func function2() -> Int
{
// Do something cool here
return 1;
}
}

我想创建一个方法数组并使用索引调用其中一个方法。

这是我想用伪 swift 代码做的一个例子:

let arr = [function1, function2 ]
arr[0]()

最佳答案

您的代码几乎完全正确。你只需要将它绑定(bind)到某个实例(你不能在没有实例的情况下调用实例方法)。

let a = A()

let arr = [a.function1, a.function2 ]
arr[0]()

请注意,这与选择器数组不同。选择器是方法的名称,而不是方法本身(它们甚至不必引用实际的方法;它们可以只是名称)。您可以将选择器发送到 ObjC 中的任意对象(如果它没有响应,则会抛出异常)。

关于ios - swift 中指向方法的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267759/

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