我是一个敏捷的新手,我正在try 使用带有可选属性的 struct .我做了很多搜索,得到了一些有用的东西,但感觉效率非常低,所以我想知道是否有更好/更易于管理的方法来实现我的目标.
我想用Structs来表示一个企业,但我事先不知道任何特定企业可能会有哪些属性组合.这似乎意味着我必须 for each 可能的参数组合创建一个init().
下面是一个简化的示例(我有更多属性):
import Foundation
struct Business {
let name : String
var web : String?
var address: String?
// just the business name
init(busName: String) {
self.name = busName
}
// business name + website
init(busName: String, website: String) {
self.name = busName
self.web = website
}
// business name + address
init(busName: String, address: String) {
self.name = busName
self.address = address
}
// business name + website + address
init(busName: String, website: String, address: String) {
self.name = busName
self.web = website
self.address = address
}
}
然后我可以这样初始化这个类:
Business(busName: "Dave's Cafe", website: "http://www.davescafe.com")
Business(busName: "Sarah's Brewhouse", address: "41 Acacia Ave, Smalltown")
没有办法创建某种init(),其中的参数是可选的吗?如果你能为我指出搜索术语或概念的方向,那就太好了.