输入' [AnyObject!'不能隐含地向下转向PFObject'

时间:2014-08-03 23:45:03

标签: ios xcode swift

我下载了一组项目文件,以便在Youtube上使用Swift教程(https://www.youtube.com/watch?v=RBnVWWqFZX0&list=UUysEngjfeIYapEER9K8aikw)。但是,当我尝试运行应用程序时,我在XCode中遇到错误:

  

输入'[AnyObject!'不能隐含地转向'PFObject';没有   你打算用'as'强迫贬低?

错误发生在以下代码行中:

if !error{
                for object:PFObject! in objects{
                    self.timelineData.addObject(object)
                }

XCode尝试通过在“对象”之后立即添加“as Objects”或类似内容来解决问题,但似乎无法解决问题。我没有对项目源文件进行任何更改。您可以通过单击视频说明中的链接自行下载。该错误发生在loadData()函数中的TimelineTableViewController.swift文件中。

我目前正在使用Xcode 6 beta 4.我感觉代码是使用早期的beta版本编写的。关于如何解决这个问题的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:4)

似乎objects属于[AnyObject!]类型。在Swift中,你不能像你正在尝试的那样隐式地转换为循环中的另一个类型。你有两个选择。

投射整个阵列:

if let pdfObjects = objects as? [PFObject!] {
    for object in pdfObjects {
        // ...
    }
}

或投射每个元素:

for object in objects {
    if let pdf = object as? PDFObject! {
        // ...
    }
}