gpt4 book ai didi

ios - Swift 元类型不一致

转载 作者:搜寻专家 更新时间:2023-10-31 19:38:41 25 4
gpt4 key购买 nike

给定以下代码...

protocol MyProtocol {}
enum MyEnum: MyProtocol {}
struct MyStruct: MyProtocol {}
class MyClass: MyProtocol {}
func MyFunction(parameter: MyProtocol.Type) -> String {
return "Hi"
}

为什么我必须在分配变量时使用 .self...

var variable: MyProtocol.Type = MyStruct.self

而不是当我将元类型作为函数参数传递时?

var result = MyFunction(MyStruct)

最佳答案

它看起来像是一个编译器错误。我个人觉得 .self 应该包含在函数参数中。

然而,一旦 Swift 的源代码在今年晚些时候发布,可能会有更好的解释。同时,您可以归档雷达。

编辑:如果 Class.Type 是唯一的函数参数,它似乎会删除 .self 要求。 Swift leave out .self to invoke a function which needs metatype?

关于ios - Swift 元类型不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33501973/

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