[Swift [如何迭代对象的所有属性

时间:2018-09-01 03:10:12

标签: swift loops object

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

ld

关于如何实现此目标的任何想法?

2 个答案:

答案 0 :(得分:0)

排列价格?这是我的手机,请检查是否有错误。不利的一面是,它可能会变得混乱不堪,难以保持井井有条。

 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
  }

答案 1 :(得分:0)

这在Swift中(虽然可能)不是一件容易的事,但这也不是一件坏事:能够遍历对象的属性并对其进行突变(更改)而无需直接引用属性名称可能在以后试图找出对象属性更改的原因时很容易引起您或其他开发人员的困惑。

更好的方法是将这种操作明确显示,并正确命名。类似于以下内容:

<anytagName styleName=''></anytagName>