Swift 多行字符串可以为空,如何隐藏它

Swift 多行字符串可以为空,如何隐藏它,swift,Swift,我使用多行字符串,如下所示。我在一行中显示提交人,可以是他的Id或电子邮件,也可以是nil。我想知道如果这行返回nil var submittedPerson = "" if let Id = User[index].Id { submittedPerson = Id } else if let email = User[index].email { submittedPerson = email } let displayStr = ""&qu

我使用多行字符串,如下所示。我在一行中显示
提交人
,可以是他的
Id
电子邮件
,也可以是
nil
。我想知道如果这行返回
nil

var submittedPerson = ""
if let Id = User[index].Id {
  submittedPerson = Id
} else if let email = User[index].email {
  submittedPerson = email
}

let displayStr = """
              \(department)
             
              \"submittedBy" : \(submittedPerson)

              \(submittedDate)

              """

我假设这里隐藏的要求是,您仍然希望保持多行字符串文字可读,并且不存在代码重复:)

可以这样做的一种方法是,在分配给
submittedPerson
时,将两个换行符中的一个移动到:

var submittedPerson: String? = ""
if let Id = User[index].Id {
  submittedPerson = "\n\(Id)\n" // note the lines feeds
} else if let email = User[index].email {
  submittedPerson = "\n\(email)\n"
}
let displayStr = """
              \(department)
              \(submittedPerson ?? "")
              \(submittedDate)

              """

“空”是什么意思?你的意思是
nil
还是字符串
“null”
?@Sweeper我想他是说
nil
,一点也没有是的,可能是
nil
。我可能既没有
id
也没有
email