Я упрощаю вопрос.
У меня есть 2 быстрых файла.
Первый содержит определение структуры.
Второй содержит объявление структуры.
// swift file 1
// definition of struct
import Foundation
struct river {
var color = ""
var depth = 0
}
Когда я использую эту структуру в swift-файле 2 для объявления константы (tiber
), я вижу структуру S
river
, предложенную функцией завершения Xcode, однако завершение не показывает мне переменные (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
Что здесь не так?
Кроме того, когда определение структуры и объявление находятся внутри одного и того же файла, завершение работает отлично!
У меня есть довольно обширные структуры, где я определенно хотел бы, чтобы завершающая работа работала правильно.
Я прочитал некоторые сообщения, которые могут помочь в удалении папки DerivedData
. Однако я не хочу погружаться так глубоко в файловую систему. macOS и Xcode являются свежими установками.