ios – Swift元分型不一致

ios – Swift元分型不一致,第1张

概述鉴于以下代码…… protocol MyProtocol {}enum MyEnum: MyProtocol {}struct MyStruct: MyProtocol {}class MyClass: MyProtocol {}func MyFunction(parameter: MyProtocol.Type) -> String { return "Hi"} 为什么我在分配 鉴于以下代码……

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元分型不一致全部内容,希望文章能够帮你解决ios – Swift元分型不一致所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1028443.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存