【问题标题】:Changing the text of a UITextView from one view to another将 UITextView 的文本从一个视图更改为另一个视图
【发布时间】:2016-10-02 12:53:15
【问题描述】:

我的代码有问题。当我在另一个视图控制器中输入 UITextField 时,该值保存在变量中(var oraDa: String!)。如果输入的文本为 nil 或不是 nil,我想更改 UITextView 的文本。代码如下:

var oraDa: String!
var oDF: String!

override func viewDidLoad() {
    super.viewDidLoad()

    oDF = "From "

    if oraDa == nil {

        oDF = nil

    }

    finalText.text = "\(oDF!)" + "\(oraDa!)"

}

我想要那个时候

oraDa != 无

oDF 等于“发件人”

但如果 oraDa 为 nil,则 oDF 等于 nil

【问题讨论】:

  • 这有点令人困惑。 “当 oraDa 为空时”是什么意思?在您的情况下,“空”和“零”有什么区别?
  • @BenjaminLowry 是同一件事对不起,我编辑了问题
  • 这对我来说仍然没有意义。当 oraDa == nil 时,您是说您希望 oDF 等于“From”,但是在下一行中,当 oraDa 为 nil 时,您说您希望 oDF 等于 nil。他们是一样的东西。您是说要测试“nil”的字符串值吗?
  • @BenjaminLowry 你说得对,我又换了一次问题......对不起
  • @BenjaminLowry 最后一件事,如果我必须向“finalText”添加其他参数怎么办?例如'finalText.text = "(intestazione!)" + "(oDF!)" + "(oraDa!)"'?

标签: ios iphone swift xcode


【解决方案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!)"
   }
}

【讨论】:

  • 该死,打败我
  • 最后一件事,如果我必须向“finalText”添加其他参数怎么办?例如'finalText.text = "(intestazione!)" + "(oDF!)" + "(oraDa!)"'?
  • 很高兴你知道了!玩得开心编码!
【解决方案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!)"

    }

希望这对其他人有所帮助

感谢比利·卡鲁索

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多