Swift 如何';在某些对象中播放电影,如![电影]';应该阅读

Swift 如何';在某些对象中播放电影,如![电影]';应该阅读,swift,Swift,我是Swift的新手,我正在尝试学习关键字“as!”的概念。我从“Swift编程语言2.1”中看到了下面的代码 我的问题是,在someObjects中,电影的代码是如何实现的![电影]”应该读一下。是先计算“someObjects中的电影”还是先计算“someObjects as!”![电影]“首先计算代码的一部分 for movie in someObjects as! [Movie] { print("Movie: '\(movie.name)', dir. \(movie.dire

我是Swift的新手,我正在尝试学习关键字“as!”的概念。我从“Swift编程语言2.1”中看到了下面的代码

我的问题是,在someObjects中,电影的代码是如何实现的![电影]”应该读一下。是先计算“someObjects中的电影”还是先计算“someObjects as!”![电影]“首先计算代码的一部分

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}
在下面的代码中:

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}
首先执行
as
,因此您会得到
someObjects as![电影]
。“!”表示您保证某些对象是
电影
的数组,而不是其他对象,也不是零。

在下面的代码中:

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}
for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}
首先执行
as
,因此您会得到
someObjects as![电影]
。“!”表示您保证某些对象是
电影
的数组,而不是其他对象,也不是零

for movie in someObjects as! [Movie] {
    print("Movie: '\(movie.name)', dir. \(movie.director)")
}
这将评估为休耕:

电影
对象在列表中是否为“单数”
someObjects
“复数” 所以someObjects是[可排序的],然后
as![电影]
只是告诉编译器它是类型
[电影]
这类似于目标C
isTypeOfClass
使陈述成为可能
movie.name
movie.director
进行评估,因为我们知道它属于
[Movie]
电影有name属性和director属性

我希望这有助于让我知道,如果你有更多的问题

这将评估为休耕:

电影
对象在列表中是否为“单数”
someObjects
“复数” 所以someObjects是[可排序的],然后
as![电影]
只是告诉编译器它是类型
[电影]
这类似于目标C
isTypeOfClass
使陈述成为可能
movie.name
movie.director
进行评估,因为我们知道它属于
[Movie]
电影有name属性和director属性


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

非常感谢!!现在一切都清楚了!!非常感谢你的帮助!!非常感谢你!!现在一切都清楚了!!非常感谢你的帮助!!我很困惑这里没有
关键字。我很抱歉。我同时问了两个问题,弄糊涂了。再次感谢你的帮助!!真的很感激。我想这可能是因为我看到了你的另一个问题。哈哈,我问了很多问题。努力学习斯威夫特,没问题。坚持下去,祝你好运。我很困惑这里没有
关键字。我很抱歉。我同时问了两个问题,弄糊涂了。再次感谢你的帮助!!真的很感激。我想这可能是因为我看到了你的另一个问题。哈哈,我问了很多问题。努力学习斯威夫特,没问题。坚持下去,祝你好运。