swift - 在单独文件中定义的 Swift 结构是否需要初始化程序?
问题描述
我在一个单独的 swift 文件中定义了一个简单的结构,如下所示:
import AppKit
//Declaring a new struct for Company
public struct CompanyStruct {
var idCompany: Int
var company: String
var compType: String
}
但是,当我尝试使用此结构时,它会找到该结构:
var c = CompanyStruct
我可以选择它,但是打开括号时没有提示任何参数。如果我将结构初始化为:
import AppKit
//Declaring a new struct for Company
public struct CompanyStruct {
var idCompany: Int
var company: String
var compType: String
init(idCompany: Int, company: String, compType: String) {
self.idCompany = idCompany
self.company = company
self.compType = compType
}
}
然后,如果我在说 View Controller 中使用结构,它就可以正常工作
我以为您不必初始化结构?是因为我在单独的文件中定义了结构吗?
解决方案
不,您不需要为结构添加初始化程序。默认情况下,它具有成员明智的初始化程序。这是一个 xCode 错误。当它发生时,只需使用YourStruct.init
它就会显示自动完成。之后,您可以删除 init 部分,它将适用于其余的结构。
推荐阅读
- vhdl - 复杂的 if 语句不可模拟
- delphi - LowLevelKeyboardProc() 永远不会被执行
- javascript - XLSX JS 根据单元格地址获取列标题
- windows - 如何在 CMake 中找到由 vcpkg 安装的 GTK
- c# - D3DKMTQueryAdapterInfo AdapterPerfData noMemory 错误
- excel - 如何格式化图表组中所有图表中的字体
- bash - Bash,从带有参数的嵌套函数返回结果(1/0 错误/正常)
- r - 如何从文本文件列表中提取向量
- reactjs - 如何解决“[object] 上不存在属性 [propName]”
- python - 如何加载我们自己的数据集进行训练