首页 > 解决方案 > [Swift[如何遍历对象的所有属性

问题描述

我有一个定义了大约 15 个属性的对象。我正在尝试遍历所有不等于零且类型为 Int 或 Double 的属性。像这样的东西:

/*
object.price1 = 10.0
object.price2 = 9.9
object.price3 = 8.9
object.price4 = 10.1
object.name = "banana"
object.type = "fruit"
object.quantitySold = 0
object.dateIntroduced = ""
*/

let banana = object()

for property in banana {
    object.property = property*2
}

关于如何做到这一点的任何想法?

标签: swiftloopsobject

解决方案


将价格设为数组?这是来自我的手机,请检查是否有错误。不利的一面是它会变得多么混乱以及保持井井有条是多么困难。

 class MyProduct{
 var price1 : Int
 var price2 : Int
 var price3 : Int

  var pricesArray : [Int]

  init(price1 : Int, price2 : Int, price3 : Int, pricesArray : [Int]){
  self.price1 = price1
  self.price2 = price2
  self.price3 = price3


 for i in 0...2
  { pricesArray.append(0)}
  pircesArray[0] = price1
 pricesArray[1] = price2
  pricesArray[2] = price3


self.pricesArray = pricesArray
 }_

 //then to go over it like
    for i in 0...3{
   banana.pricesArray[i] = banana.procesArray[i] * 2
   }

或者你可以在产品类中创建一个函数

  func equate( sum : Int)
  {
  yourVar = yourVar * sum
  }

推荐阅读