我有一个类Address
,它是一个非常简单的元数据容器。 (在底部。)
我拥有一组Address
个对象,这些对象不是可选的 - 它绝对存在。我还有一个维护这些引用的可选列表的类,如下所示:
public class Person {
public var addresses : [Address]?
...
}
所以,当我有这些项目时,我正在使用:
if let theAddresses = backgroundTask.result {
person.addresses = theAddresses
}
这似乎相当简单 - 但无论出于何种原因,我在分配person.addresses
时遇到编译错误:
Cannot assign a value of type '[Address]' to a value of type '[Address]?'
这似乎不合理。我可以检查或试验什么来确定这里发生了什么?
这是Xcode 6.4。
public class Address {
public let streetNum: Int
public let streetName: String
public let city: String
public let state: String
public let zip: String
}
BackgroundTask
的源代码:
public class BackgroundTask<T> {
public var result: T?
}
答案 0 :(得分:1)
Address
类存在于两个不同的模块中 - iOS应用程序模块以及嵌入式框架。
它适用于嵌入式框架,因此我将其从iOS应用程序的“Compiled Sources”部分中删除,并且一切都很可靠。
似乎正在使用该类的两个不同“版本”,具体取决于它们被引用/返回的位置。