gpt4 book ai didi

ios - 通用闭包的 Swift 数组?

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:39 26 4
gpt4 key购买 nike

这可能吗?错误 Only syntatic function types can be generic表明它不是。

有效代码

func test<T:Equatable>(function: (T) -> T){
var myArray:Array<T -> T> = [function];
}

现在我想创建一个与myArray 类型相同的属性.我觉得我应该能够以某种方式做到这一点。

不起作用

var myArray:<T:Equatable>(T -> T)[]

有什么想法吗?

最佳答案

即使这样:

func test<T:Equatable>(function: (T) -> T){
var myArray:Array<T -> T> = function;
}

不应该是有效的。您正在分配 T->TArray<T->T> .至少应该是:

var myArray:Array<T -> T> = [function];

这会起作用:

class MyClass<T> {

var myArray:(T->T)[] = []

}

因为你现在有一个通用的 MyClass 类,要初始化,你需要告诉是什么类型 T是这样的:

var x = MyClass<String>()

关于ios - 通用闭包的 Swift 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606238/

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