我有一个Set,现在我正在尝试在索引位置获取一个对象:
var testItem: ExpandableCell
if let object = expandableCells[indexPath.row] {
testItem = object as! ExpandableCell
}
更新
我只是从SET转换为Array我的集合类变量,现在我有了这个:
让realItem:ExpandableCell?
if let testItem: AnyObject = expandableCells[indexPath.row] {
realItem = testItem as! ExpandableCell
print(realItem?.title)
}
它编译没有问题但是当我运行代码并且索引在其边界之外时,我得到以下错误:
看来我的if let
声明无效。
有任何线索吗?
答案 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)
}
}