我更新了 xcode,现在我的项目有错误,我不知道该怎么做。

struct Program {
    let name : String
    let url : String
}

self.arrayOfPrograms = [Program(name: "First", url: "http://1.com"), Program(name: "Second", url: "http://2.com"), Program(name: "Third", url: "http://2.com")]

我收到错误“类型'程序'不符合协议(protocol)'任何对象'”

最佳答案

documentation 中所述:



结构体不是类,因此不能强制转换为 AnyObject
你应该:

  • Program 变成一个类
  • 将您的数组定义为 Array<Any>
  • 如果您的数组应该只保存 Program 的实例,请将其声明为 Array<Program>

  • 不用说,最后一个是最好的解决方案,而第一个是我不推荐的,因为它需要您进行设计更改(您将其声明为值类型而不是引用类型是有原因的)。

    旁注:数组和字典可以转换为 AnyObject ,因为它们分别自动桥接到 NSArrayNSDictionary ,它们是类。

    关于ios - "Type' 程序 ' does not conform to protocol ' 任何对象 '",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26530691/

    10-12 23:35