如何根据三元表达式声明变量类型?

问题描述 投票:1回答:2

我有这个枚举:

enum WeatherMapDisplayType {
    case temperature
    case wind
}

我可以声明一个这样的变量吗?

let markerView: mode == .temperature ? WeatherMapItemTemp : WeatherMapItemWind = UIView.fromNib()

知道modeWeatherMapDisplayType类型

如何以优雅的方式处理这种情况?

编辑:

我希望能够做到这样的事情:

let markerView: WeatherMapItem = UIView.fromNib()
markerView.frame = CGRect(x: 0, y: 0, width: 80, height: 30)
markerView.setupWeatherInformations(mode: self.currentDisplayMode, forecast: forecasts)
marker.iconView = markerView

以前我只有WeatherMapItem类型。

然后我被要求添加另一个天气图项目,这就是为什么我现在有WeatherMapItemTempWeatherMapItemWind(也对应于我的枚举显示类型)。


func setupWeatherInformations(forecast: Forecast.HourlyForecast)

这是我的自定义类中的一种方法,用于配置插座。

但是如果我从框架初始化自定义视图,我就无法访问此方法,因为它是UIView类型。

swift enums variable-declaration ternary
2个回答
© www.soinside.com 2019 - 2024. All rights reserved.