0

我有一个名为Car的结构名称。Car 有两个属性(noOfTyres、ownerName)。

Struct Car {
    var noOfTyres: Int
    var ownerName: String
}

字符串值为let objStr = "Car/ownerName"

如何将 objStr 转换为 swiftObject 之类的Car.ownerName

4

2 回答 2

0

你可以尝试这样的事情:

let str = "Car/ownerName"
let obj = Car.toObj(str)
print("---> obj: \(obj)")   // --> optional "xxxx"

struct Car {
    var noOfTyres: Int
    static var ownerName: String = "xxxx"
    
    static func toObj(_ str: String) -> String? {
        if str.prefix(4) == "Car/" && str.dropFirst(4) == "ownerName" {
            return Car.ownerName  // <-- here
        } else {
            return nil
        }
    }
}
于 2022-02-22T10:43:17.753 回答
-2

您可以通过以下代码创建结构对象:

struct Car {
    var noOfTyres: Int
    var ownerName: String
}
class Demo {
    func createStructObject() {
        var structData = [Car]()
        structData.append(Car(noOfTyres: 2, ownerName: "Innova"))
        let name = structData[0].ownerName
        print(name)
    }
}
于 2022-02-22T09:29:39.003 回答