Xcode 10 Struct Initializer autoComplete不显示

时间:2018-09-26 18:34:28

标签: swift xcode struct xcode10

我在另一个文件中将viewModels定义为struct,当我尝试在另一个文件中创建此struct的实例时,成员初始化器的自动完成功能未显示。 / p>

这个问题不是以前存在的(即Xcode 9)是Xcode 10中的错误吗?

我见过类似的问题,例如Xcode does not autocomplete memberwise initializer of a Struct

但是它很旧,问题可能出在Xcode 7或8。

但是,如果我将struct放在尝试使用的文件中,则会显示自动完成功能,那是什么问题呢?

我也尝试过.init之后的struct,但没有运气。

这是我的ViewModels:

struct ProfileModels {

    struct ViewModels {


        struct profile{
            let name : URL?
            let positionAndCountry : String?
            let briefDescription : String?
            let hotelInfo : HotelInfo?

        }

        struct HotelInfo{
            let hotelName : String?
            let roomClasification : String?
            let checkInDate : String?
            let checkOutDate : String?
            let isCheckInEarly : String?
            let isCheckInLate : String?
        }

    }
}

enter image description here

更新:

如评论中所述,如果调用init方法可以很好地工作,但是有时调用init方法不会显示自动完成功能...

对于在此错误解决之前想要快速解决方法的任何人,都可以使用以下方法:

  • 创建一个结构(暂时不必担心该错误)

    示例: ProfileModels.viewModels.profile()

  • 在新行中,调用struct,然后将显示自动完成!,现在您可以删除第一个。

我不知道为什么会这样,但是也许第一行之后的编译器会认识到该结构缺少参数,所以当稍后使用相同的结构时它们会出现...

1 个答案:

答案 0 :(得分:0)

一段时间以来,Xcode中存在一个错误,其中结构的自动补全是挑剔的。类从未遇到过此问题,但是我能够通过在结构名称后键入.init,触发自动完成并在其后删除.init来修复自动完成。希望这会有所帮助