swift2 Swift:对索引处的对象进行数组检查

ttvkxqim  于 2022-11-06  发布在  Swift
关注(0)|答案(1)|浏览(192)

我有一个带有几个属性的数据模型对象,我有一个动态数组,它有时会包含一些但不是全部的对象属性。
如何安全地检查数组在其索引处是否为任何内容
数据模型

class Order{
     var item0:String?
     var item1:String?
     var item2:String?
}

数组:

var myArray = [String]()

保护语句是我在检查数组中不同索引处是否有元素时遇到的问题。
顺便说一句,数组中的元素永远不会超过3个。

let order = Order()
order.item0 = "hat"
order.item1 = "sneakers"

myArray.append(order.item0)
myArray.append(order.item1)
//sometimes there may or may not be item2

let placedOrder = Order

//These guard statements aren't working
guard case let placedOrder.item0 = myArray[0] else {return}

guard case let placedOrder.item1 = myArray[1] else {return}

//There isn't anything at myArray[2] but I need to safely check anyway
guard case let placedOrder.item2 = myArray[2] else {return}
mzsu5hc0

mzsu5hc01#

数组应该包含数据模型类型而不是它的属性:

var orders = [Order]() 
//changed the array's name from myArray to orders instead

2.将数据模型对象添加到数组:

let orderOne = Order()

orders.append(orderOne)

第三次遍历数组,检查元素的属性是否为nil:

for order in orders{

    if order.item0 != nil{
       //do something with order.item0
    }

    if order.item1 != nil{
       //do something with order.item1
    }

    if order.item2 != nil{
       //do something with order.item2
    }
}

相关问题