我有一个从NSSet生成的排序的细节数组。我想把它们反复打印出来。现在我这样做:

    for aDetail in sortedDetails! {
        let someDetail = aDetail as! Detail
        if someDetail.parentDetail != "" {
            print("----\(someDetail.name)")
        } else {
            print("\(someDetail.name)")
        }
    }

有没有更干净的方法来做“让某个细节=一个细节作为!在“for in”的定义中详细说明?(即,在for in循环的定义中强制向下转换,而不是创建一个单独的转换变量?)
这很管用,但感觉很笨重。

最佳答案

如果保证数组的内容可以转换为Detail,则可以强制转换数组:

for aDetail in sortedDetails as! [Detail] {
    if aDetail.parentDetail != "" {
        print("----\(aDetail.name)")
    } else {
        print("\(aDetail.name)")
    }
}

10-08 12:14