如何从Set <t>检查值是否为零

时间:2016-05-10 18:48:28

标签: swift swift2

我有一个Set,现在我正在尝试在索引位置获取一个对象:

    var testItem: ExpandableCell
    if let object = expandableCells[indexPath.row] {
        testItem = object as! ExpandableCell
    }

但是我收到了一个错误。 enter image description here

更新

我只是从SET转换为Array我的集合类变量,现在我有了这个:

让realItem:ExpandableCell?

    if let testItem: AnyObject = expandableCells[indexPath.row] {
        realItem = testItem as! ExpandableCell
        print(realItem?.title)
    }

它编译没有问题但是当我运行代码并且索引在其边界之外时,我得到以下错误:

enter image description here

看来我的if let声明无效。

  

有任何线索吗?

2 个答案:

答案 0 :(得分:1)

Set是一组无序的唯一对象。因为它们是无序的,所以通过Float[] floats = (Float[]) objectIn.readObject(); 索引获取它们是没有意义的。

也许您打算使用Int,一个有序的对象集合。 Array不保证其对象的唯一性,但它确实保留了序列,因此Array索引是有意义的。

答案 1 :(得分:0)

你可以使用循环代替if / let condition

    for testItem in expandableCells {
      if let realItem = testItem as? ExpandableCell {
      print(realItem?.title)
      }
  }