在字符串中省略 nil
Omit nil in string
我正在练习 swift,目前正在编写一个简单的函数来显示当天的日程安排。如果 return
语句包含一个值,它应该只包含 busyDay
。我希望这会自动完成,但事实并非如此。
func scheduleToday (date: String, day: String, numberOfMeetings: Int?) -> String {
var meetingMessage = ""
var busyDay: String!
if var meetings = numberOfMeetings {
if meetings > 4 {
busyDay = "Today is a busy day!"
}
meetingMessage = "\(meetings) meetings"
} else {
meetingMessage = "no meetings today."
}
return "| \(date) - \(day) | Good morning. \(busyDay) You have \(meetingMessage)."
}
如果 numberOfMeetings
等于或小于 4,则返回的字符串为:
// | 17th of June - Wedensday | Good morning. nil You have 3 meetings.
您只需在 if
中添加一个 else 语句,将 budyDay 设置为空字符串
if meetings > 4 {
busyDay = "Today is a busy day!"
} else {
busyDay = ""
}
如果 numberOfMeetings
等于或小于 4,您可以使用 ternary operator
分配空字符串,您的代码将是:
func scheduleToday (date: String, day: String, numberOfMeetings: Int?) -> String {
var meetingMessage = ""
var busyDay: String!
if var meetings = numberOfMeetings {
busyDay = meetings > 4 ? "\(meetings) meetings" : ""
meetingMessage = "\(meetings) meetings"
} else {
meetingMessage = "no meetings today."
}
return "| \(date) - \(day) | Good morning. \(busyDay) You have \(meetingMessage)."
}
let schedule = scheduleToday("1234", "8678678", 3) // "| 1234 - 8678678 | Good morning. You have 3 meetings.""
我正在练习 swift,目前正在编写一个简单的函数来显示当天的日程安排。如果 return
语句包含一个值,它应该只包含 busyDay
。我希望这会自动完成,但事实并非如此。
func scheduleToday (date: String, day: String, numberOfMeetings: Int?) -> String {
var meetingMessage = ""
var busyDay: String!
if var meetings = numberOfMeetings {
if meetings > 4 {
busyDay = "Today is a busy day!"
}
meetingMessage = "\(meetings) meetings"
} else {
meetingMessage = "no meetings today."
}
return "| \(date) - \(day) | Good morning. \(busyDay) You have \(meetingMessage)."
}
如果 numberOfMeetings
等于或小于 4,则返回的字符串为:
// | 17th of June - Wedensday | Good morning. nil You have 3 meetings.
您只需在 if
中添加一个 else 语句,将 budyDay 设置为空字符串
if meetings > 4 {
busyDay = "Today is a busy day!"
} else {
busyDay = ""
}
如果 numberOfMeetings
等于或小于 4,您可以使用 ternary operator
分配空字符串,您的代码将是:
func scheduleToday (date: String, day: String, numberOfMeetings: Int?) -> String {
var meetingMessage = ""
var busyDay: String!
if var meetings = numberOfMeetings {
busyDay = meetings > 4 ? "\(meetings) meetings" : ""
meetingMessage = "\(meetings) meetings"
} else {
meetingMessage = "no meetings today."
}
return "| \(date) - \(day) | Good morning. \(busyDay) You have \(meetingMessage)."
}
let schedule = scheduleToday("1234", "8678678", 3) // "| 1234 - 8678678 | Good morning. You have 3 meetings.""