我简化了这个问题。
我有2个swift文件。
第一个保存结构定义。 第二个保存struct声明。
// swift file 1
// definition of struct
import Foundation
struct river {
var color = ""
var depth = 0
}
当我在swift文件2中使用此结构声明常量(tiber
)时,我确实看到了Xcode的完成功能建议的结构S
river
,但是该完成当我在color
之后键入depth
时,没有显示变量((
和river
的变量。
基本上,我必须手动输入用于结构声明的变量。
// swift file 2
// declaration of struct
import Foundation
let tiber = river(color: "blue", depth: 15) // "color: "blue", depth: 15" manually typed
现在,当我第二次使用river
时,对于变量,补全工作正常。
// swift file 2
// declaration of struct
import Foundation
let tiber = river(color: "blue", depth: 15) // "color:, depth: " manually typed
let nile = river(color: "green", depth: 11) // "color:, depth: " was suggested properly by completition
这里出了什么问题?
此外,当struct定义和声明位于同一文件中时,完成工作正常!
我有一些非常广泛的结构,我肯定希望其中的工作能够正常进行。
我读到一些帖子,删除文件夹DerivedData
可能会有所帮助。但是,我不想深入探讨文件系统。 macOS和Xcode是全新安装。