@discardableResult func doSomething() -> Bool {
// does something
return true
}
This function can be called in the following ways:
doSomething()
let didSucceed = doSomething()
Is there a way to differentiate the two from inside the doSomething() function, as in, is there a way to know if the caller is using the result?
is there a way to know if the caller is using the result?
Not really.
Certainly, there’s no way to distinguish those cases for standard types, like Bool. For more complex types you could do something ‘clever’. For example, you might return a class and require the client to call a method on that class to tell you that they used it. However, this seems kinda weird, and my general advice is that you either not use @discardableResult or design your interface such that this distinction isn’t important.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"