Сейчас я работаю над книгой Пола Хадсона «100 дней SwiftUI».
На 19-й день возникла задача создать приложение для преобразования единиц измерения.
Я кое-что собрал, и это работает, но его почти наверняка можно улучшить, и во имя обучения мне бы хотелось знать, как это сделать. Любая помощь будет принята с благодарностью.
let units = ["Celsius", "Fahrenheit", "Kelvin"]
@State private var fromUnit = "Celsius"
@State private var toUnit = "Fahrenheit"
@State private var inputValue = 0.0
@FocusState private var entryIsFocused: Bool
var resultValue: String {
var endUnit: String {
var resultUnits = String()
if toUnit == "Fahrenheit" {
resultUnits = "°F"
} else if toUnit == "Kelvin" {
resultUnits = " K"
} else {
resultUnits = "°C"
}
return resultUnits
}
var convertingTo = Double()
if fromUnit == toUnit {
convertingTo = inputValue
} else {
var convertingFrom = Double()
if fromUnit == "Fahrenheit" {
convertingFrom = ( inputValue - 32 ) / 1.8
} else if fromUnit == "Kelvin" {
convertingFrom = inputValue - 273.15
} else {
convertingFrom = inputValue
}
// The conversion
if toUnit == "Fahrenheit" {
convertingTo = convertingFrom * 1.8 + 32
} else if toUnit == "Kelvin" {
convertingTo = convertingFrom + 273.15
} else {
convertingTo = convertingFrom
}
}
let result = String(format: "%.1f\(endUnit)", convertingTo)
return result
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... -improving
Подробный код Swift, нужен совет по упрощению и улучшению. ⇐ IOS
Программируем под IOS
-
Anonymous
1771304606
Anonymous
Сейчас я работаю над книгой Пола Хадсона «100 дней SwiftUI».
На 19-й день возникла задача создать приложение для преобразования единиц измерения.
Я кое-что собрал, и это работает, но его почти наверняка можно улучшить, и во имя обучения мне бы хотелось знать, как это сделать. Любая помощь будет принята с благодарностью.
let units = ["Celsius", "Fahrenheit", "Kelvin"]
@State private var fromUnit = "Celsius"
@State private var toUnit = "Fahrenheit"
@State private var inputValue = 0.0
@FocusState private var entryIsFocused: Bool
var resultValue: String {
var endUnit: String {
var resultUnits = String()
if toUnit == "Fahrenheit" {
resultUnits = "°F"
} else if toUnit == "Kelvin" {
resultUnits = " K"
} else {
resultUnits = "°C"
}
return resultUnits
}
var convertingTo = Double()
if fromUnit == toUnit {
convertingTo = inputValue
} else {
var convertingFrom = Double()
if fromUnit == "Fahrenheit" {
convertingFrom = ( inputValue - 32 ) / 1.8
} else if fromUnit == "Kelvin" {
convertingFrom = inputValue - 273.15
} else {
convertingFrom = inputValue
}
// The conversion
if toUnit == "Fahrenheit" {
convertingTo = convertingFrom * 1.8 + 32
} else if toUnit == "Kelvin" {
convertingTo = convertingFrom + 273.15
} else {
convertingTo = convertingFrom
}
}
let result = String(format: "%.1f\(endUnit)", convertingTo)
return result
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79889876/verbose-swift-code-looking-for-advice-on-simplifying-and-improving[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия