Я изучаю Swift 3, и у меня есть вопрос здесь
Извините за неправильный пример.. не мог придумать логического примера
enum Restaurant : String {
case wendys = "wendy's"
case chickfila = "chick fil'a"
case subway = "SubWay"
}
public struct COMMON_INFO {
var restaurant : Restaurant?
public static let restaurant_zip: String?
init(restaurant: Restaurant) {
switch restaurant {
case .wendys: break
COMMON_INFO.restaurant_zip = "212345"
self.restaurant = restaurant
case .chickfila: break
COMMON_INFO.restaurant_zip = "367849"
self.restaurant = restaurant
default: COMMON_INFO.restaurant_zip = "618374"
self.restaurant = restaurant
break
}
}
public static func getAddressFromZip() -> [String : Any] {
let address = getAddressFrom(restaurant_zip)
//do something with address
}
func getAddressFrom(zip:String) {
//get address
}
}
У меня определено перечисление У меня есть константа "restaurant_zip", определенная в структуре COMMON_INFO Мне нужно установить значение restaurant_zip в зависимости от значения переменной restaurant
По этой причине я добавил инициализатор и присвоил значение статической переменной в зависимости от случая, как показано в коде.
но я получаю сообщение об ошибке в строке "public static let restaurant_zip: String?" -> "объявление статической переменной требует выражения инициализатора"
мое требование состоит в том, чтобы иметь статическую функцию getAddressFromZip, в которой я использую статическую переменную restaurant_zip", значение которой должно быть определено из инициализатора struc COMMON_INFO
Пожалуйста, помогите мне, как добиться этого. Я пытался, но не повезло