инициализировать статическое значение var из переменной в Struct в Swift 3

Я изучаю 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

Пожалуйста, помогите мне, как добиться этого. Я пытался, но не повезло


person Jack    schedule 19.06.2017    source источник


Ответы (1)


Не уверен, что получу то, что вы хотите, но вместо этого может помочь использование var:

public static var restaurant_zip: String?
person Paulo Mattos    schedule 19.06.2017