Ios 扩展可选,其中包装在一个应用程序中工作,但在另一个应用程序中不工作(均为Swift 5套件)
代码行Ios 扩展可选,其中包装在一个应用程序中工作,但在另一个应用程序中不工作(均为Swift 5套件),ios,swift,optional,swift5,Ios,Swift,Optional,Swift5,代码行 扩展可选,其中Wrapped在我的一个应用程序中有效,但在另一个应用程序中相同的代码抛出“使用未声明的类型‘Wrapped’” 上下文是,这行代码被用作一堆代码的一部分,以允许kotlin风格的.orEmpty或.orZero优先于使用nil合并运算符,例如if someInteger??如果someInteger.orZero>0应该可以变成 我检查了项目设置,发现两个应用都设置为使用Swift 5,我尝试将所有其他项目设置与扩展工作的应用匹配 extension-Optional其中
扩展可选,其中Wrapped
在我的一个应用程序中有效,但在另一个应用程序中相同的代码抛出“使用未声明的类型‘Wrapped’”
上下文是,这行代码被用作一堆代码的一部分,以允许kotlin风格的.orEmpty或.orZero优先于使用nil合并运算符,例如if someInteger??如果someInteger.orZero>0
应该可以变成
我检查了项目设置,发现两个应用都设置为使用Swift 5,我尝试将所有其他项目设置与扩展工作的应用匹配
extension-Optional其中包装:CollectionDefaultValue{
var-orEmpty:Wrapped{return self??Wrapped.orEmpty}
}
这应该可以看到Swift捆绑包中的包装版可选版。它在一个应用程序中工作,但在另一个应用程序中,每行都标记有错误“使用未声明的类型‘包装’”什么是CollectionDefaultValue
?它似乎是一个自定义类型,您确定在两个项目中都声明了它吗?尝试将其声明更改为public
另一个项目是否以某种方式重新定义了Optional
?似乎是类型系统中存在冲突导致了这一点,可能是Objective-C库中定义了称为Optional的某种类型。。。修复方法是指定可选项的来源。。。扩展名Swift.Optional其中Wrapped:CollectionDefaultValue{var orEmpty:Wrapped{return self??Wrapped.orEmpty}