@discardableResult 是 Swift 中的一个属性修饰符,用于标记一个函数的返回值可以被忽略,而不会触发编译器警告。
Swift默认是鼓励“使用所有返回值”,比如:
func saveFile() -> Bool {
// ...
return true
}
saveFile() // ⚠️ 警告:Result of call to 'saveFile()' is unused
使用@discardableResult 后:
@discardableResult
func saveFile() -> Bool {
// ...
return true
}
saveFile() // ✅ 没有警告了
仍然可以使用返回值,但不使用也不会警告。
注意事项
不适合加 @discardableResult 的函数:
1、有副作用且返回值表示重要状态(比如:保存成功或失败);
2、调用者必须关注结果,否则会隐藏潜在 bug。