gpt4 book ai didi

swift - 无法将 [Address] 类型的值分配给 [Address] 类型的值?

转载 作者:行者123 更新时间:2023-11-28 07:03:47 24 4
gpt4 key购买 nike

我有一个 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?
}

最佳答案

Phew - 想通了。这是在大规模重构之后发生的,Address 类存在于两个不同的模块中 - iOS 应用程序模块和嵌入式框架。

它是为嵌入式框架设计的,所以我将它从 iOS 应用程序的“编译源”部分中删除,一切都很好。

根据引用/返回类的位置,似乎使用了该类的两个不同“版本”。

关于swift - 无法将 [Address] 类型的值分配给 [Address] 类型的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31350052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com