Swift 3.1嵌套泛型Bug与循环元数据
发布时间:2020-12-14 05:31:10 所属栏目:百科 来源:网络整理
导读:首先,感谢您的光临.我正在玩 Swift 3.1嵌套泛型,我在初始化时遇到了错误. class NestedProductT { enum Gadget { case smartphone case laptop case fridge case others(T) } enum Company { case Samsung case Apple case Sony case others(T) } let compan
首先,感谢您的光临.我正在玩
Swift 3.1嵌套泛型,我在初始化时遇到了错误.
class NestedProduct<T> { enum Gadget { case smartphone case laptop case fridge case others(T) } enum Company { case Samsung case Apple case Sony case others(T) } let company: Company let gadget: Gadget let reviews: [T] init(enterCompany: Company,enterGadget: Gadget,enterReView: [T]) { company = enterCompany gadget = enterGadget reviews = enterReView } } 现在,我尝试初始化 let product = NestedProduct<String>(enterCompany: NestedProduct.Company.Apple,enterGadget: NestedProduct.Gadget.laptop,enterReView: ["Good"]) 但是,我收到一条错误消息,
我不知道为什么会这样.你能帮忙吗?谢谢!
看起来这是一个已知问题:
https://bugs.swift.org/browse/SR-3779
但是,我能够通过将枚举标记为间接来避免这种情况.这会将相关值存储在另一个破坏循环依赖关系的地方. indirect enum Gadget { case smartphone case laptop case fridge case others(T) } indirect enum Company { case Samsung case Apple case Sony case others(T) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |