如何将someObjects中的电影视为! [动画]'应该阅读

时间:2016-02-14 04:42:33

标签: swift

我是Swift的新手,我正在努力学习关键字' as!'的概念。我在下面的代码中看到了Swift Programming Language 2.1'

我的问题是,someObjects中的电影代码是怎样的! [动画]'应该阅读。某些对象中的电影是'首先评估或者将某些对象作为! [动画]'首先评估部分代码?

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}

2 个答案:

答案 0 :(得分:1)

在下面的代码中:

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}

首先执行as,因此您获得someObjects as! [Movie]。 "!"说你保证someObjects是一个Movie的数组而不是其他东西而不是零。

答案 1 :(得分:1)

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}

这评估为休耕:

movie 是列表中的“单数”对象 someObjects“复数” 所以someObjects是[可序]然后是 as! [Movie] 只是告诉编译器它是类型的 [Movie] 这与Objective C类似 isTypeOfClass  并使这些陈述成为可能 movie.namemovie.director进行评估,因为我们知道它属于类型 [Movie]和电影都有名称属性和导演属性。

如果您有更多问题,我希望有帮助让我知道。