#ios #iphone #swift #xcode
#iOS #iPhone #swift #xcode
Вопрос:
У меня проблема с моим кодом. Когда я ввожу UITextField в другом контроллере представления, значение сохраняется в переменной (var oraDa: String!). Я хотел бы изменить текст UITextView, если введенный текст равен нулю или не равен нулю. Вот код:
var oraDa: String!
var oDF: String!
override func viewDidLoad() {
super.viewDidLoad()
oDF = "From "
if oraDa == nil {
oDF = nil
}
finalText.text = "(oDF!)" "(oraDa!)"
}
Я хочу, чтобы при
oraDa != nil
oDF равно «From»
но если oraDa равно нулю, oDF равно нулю
Комментарии:
1. Это немного сбивает с толку. Что вы подразумеваете под «когда oraDa пуста»? В чем разница между «пустым» и «нулевым» в вашем случае?
2. @BenjaminLowry — это то же самое, извините, я отредактировал вопрос
3. Для меня это все еще не имеет смысла. Вы говорите, что хотите, чтобы oDF был равен «From», когда oraDa == nil, но затем вы говорите, что хотите, чтобы oDF был равен нулю, когда oraDa равно нулю в следующей строке. Это одно и то же. Вы хотите сказать, что хотите проверить строковое значение «nil»?
4. @BenjaminLowry Вы правы, я изменил вопрос в другой раз … так что извините
5. @BenjaminLowry И последнее, что, если бы мне пришлось добавить другие параметры в «finalText»? Например, «finalText.text = «(intestazione!)» «(oDF!)» » (oraDa!)»»?
Ответ №1:
В: finalText.text = "(oDF!)" "(oraDa!)"
вы принудительно разворачиваете эти параметры строки. Если это nil
так, ваш код выйдет из строя.
Если вы вводите `oraDa’ из другого представления, тогда вы должны выполнить свою логику следующим образом:
override func viewDidLoad() {
super.viewDidLoad()
if oraDa == nil || oraDa == "" {
oDF = nil
finalText.text = "";
} else {
oDF = "From "
finalText.text = "(oDF!)" "(oraDa!)"
}
}
Комментарии:
1. Черт возьми, опередил меня
2. И последнее, что, если бы мне пришлось добавить другие параметры в «finalText»? Например, «finalText.text = «(intestazione!)» «(oDF!)» » (oraDa!)»»?
3. Рад, что вы поняли это! Получайте удовольствие от кодирования!
Ответ №2:
Решен мой собственный вопрос о том, как добавить другие параметры:
var intestazioneF: String!
var oDF: String!
if intestazione == nil || intestazione == "" {
intestazioneF = ""
} else {
intestazioneF = "n n"
finalText.text = "(intestazione!)" "(intestazioneF!)"
}
if oraDa == nil || oraDa == "" {
oDF = nil
} else {
oDF = "From "
finalText.text = "(intestazione!)" "(intestazioneF!)" "(oDF!)" "(oraDa!)"
}
и если вы хотите добавить еще один параметр:
var intestazioneF: String!
var nomeFestaF: String!
var oDF: String!
if intestazione == nil || intestazione == "" {
intestazioneF = ""
} else {
intestazioneF = "n n"
finalText.text = "(intestazione!)" "(intestazioneF!)"
}
if nomeFesta == nil || nomeFesta == "" {
nomeFestaF = ""
} else {
nomeFestaF = "n n"
finalText.text = "(intestazione!)" "(intestazioneF!)" "(nomeFesta!)" "(nomeFestaF!)"
}
if oraDa == nil || oraDa == "" {
oDF = nil
} else {
oDF = "From "
finalText.text = "(intestazione!)" "(intestazioneF!)" "(oDF!)" "(oraDa!)"
}
Надеюсь, это поможет другим людям
Благодаря Билли Карузо