【发布时间】:2019-07-15 21:00:37
【问题描述】:
我已将度数符号添加到我的 UILabel,但当应用程序运行时它会消失。我正在创建一个天气应用程序,因此正确格式化它很重要。 这是加载 ViewController 后的代码。
override func viewDidLoad() {
super.viewDidLoad()
cityLabel.text = city
userEnteredNewCityName(city: city)
// Do any additional setup after loading the view.
}
这里是更新 ViewController 的代码
func updateWeatherData(json: JSON) {
if let tempResult = json["main"]["temp"].double {
weatherDataModel.temperature = Int(tempResult - 273)
weatherDataModel.city = json["name"].stringValue
weatherDataModel.condition = json["weather"][0]["id"].intValue
weatherDataModel.weatherIconName = weatherDataModel.updateWeathericon(condition: weatherDataModel.condition)
updateUIWithWeatherData()
} else {
cityLabel.text = "No data available"
}
}
func userEnteredNewCityName(city: String){
let params : [String : String] = ["q" : city, "appid" : APP_ID]
getWeatherData(url: WEATHER_URL, parameters: params)
}
//Write the updateUIWithWeatherData method here:
func updateUIWithWeatherData() {
cityLabel.text = weatherDataModel.city
temperatureLabel.text = String(weatherDataModel.temperature)
weatherIcon.image = UIImage(named: weatherDataModel.weatherIconName)
}
【问题讨论】:
-
请提供您设置“度”标签文本的代码部分。
-
你应该使用
MeasurementFormatter。 -
我仍然没有看到正在添加的“学位”符号。但你可以使用
temperatureLabel.text = String(weatherDataModel.temperature) + "°" -
我在情节提要中添加了度数符号。
-
@AltBrian 这就是我的想法。这很好。但是当您设置
temperatureLabel.text = String(weatherDataModel.temperature)时,您将覆盖之前的文本。所以你需要在字符串后面加上+ "°",就像我说的那样。
标签: swift api uilabel openweathermap