gpt4 book ai didi

ios - 如何强制将 Struct 从 super 类型强制转换为新类型?

转载 作者:行者123 更新时间:2023-11-28 07:24:59 25 4
gpt4 key购买 nike

根据下面的代码,我创建了结构类型的实例。

问题是我想创建一个数组,其中包含任何具有 supernoob 协议(protocol)的结构。

但我不知道如何将它从祖先类型 (supernoob) 转换为 noob 类型,我无法访问 ( var pro ) 没有类型转换。

在使用 class 时我可以很容易地转换它,但我不知道 struct 。

import UIKit

protocol supernoob{
func superdoNoob()
var supernub:String { get set }
}

struct noob: supernoob{
var supernub: String
func superdoNoob() {

}
var pro:String
}

struct spaceShip{
var mynoob : supernoob
}

let flyAlien = spaceShip(mynoob: noob(supernub: "choopa", pro: "PO"))
let ufo = spaceShip(mynoob: noob(supernub: "choopa", pro: "PO"))

let array = [flyAlien,ufo]


ufo.mynoob as? noob

最佳答案

只需通过执行 if let...

检查是否可以转换
for item in array {
if let noob = item.mynoob as? noob {
print(noob.pro)
}
}

关于ios - 如何强制将 Struct 从 super 类型强制转换为新类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56848171/

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