ios - Swift:将多个类型存储在一个数组中

标签 ios arrays swift

如何在单个数组中存储多个类型?

我正在做以下事情:

var vehicles = [string]()
let mustang = Car() // car is a class name
mustang.brandName = "Ford"
mustang.modelName = "Mustang" // string type
mustang.modelYear = 1968
mustang.isConvertibible = true
mustang.isHatchback = false
mustang.hasSunroof = false // bool type
mustang.numberOfDoors = 2 // int type
mustang.powerSource = "gas engine"

// Add it to array
vehicles.append(mustang.brandName)
vehicles.append(mustang.modelName)
vehicles.append(mustang.modelYear) // Error: int type not supported
vehicles.append(mustang.isConvertibible) // Error: bool type not supported
vehicles.append(mustang.brandName)
vehicles.append(mustang.brandName)

我该如何实现?我是 Swift/iOS 的新手。

最佳答案

除了创建 string array,你还可以像这样创建 car 的 array 并直接存储 car 对象

var cars = [Car]()
let mustang = Car() // car is a class name
mustang.brandName = "Ford"
mustang.modelName = "Mustang" // string type
mustang.modelYear = 1968
mustang.isConvertibible = true
mustang.isHatchback = false
mustang.hasSunroof = false // bool type
mustang.numberOfDoors = 2 // int type
mustang.powerSource = "gas engine"   
cars.append(mustang)  

或者如果你想存储不同类型的object那么你不能创建AnyObjectarray,所以它会存储任何类型的该数组中的 instanceobject

var arr = [AnyObject]()
let car = Car()
let bike = Bike()
arr.append(car)
arr.append(bike)

关于ios - Swift:将多个类型存储在一个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38388003/

相关文章:

iOS从应用程序内转到设置应用程序

objective-c - 我需要在释放之前从 UIButton 中删除目标吗?

ios - Core Data 第一次没有保存

javascript - 如何定义从 2D 数组生成的对象的 id

Objective-C 转换为 Swift 3.1 出现错误 'Any' 不可转换

ios - Xcode UI 测试目标中禁用的记录按钮

php - 如何从 XML 标签中取出元素存储到 PHP 数组中?

c++ - 将 char 数组分配给单个 char 的奇怪行为

JSON后台处理和本地通知

swift - 节点自动向随机方向移动