Panda Pig • Patty original or translated works. Welcome reprint, Reprint please indicate the source.
If you feel that the writing is not good please more advice, if you feel good please support a lot of praise. Thank you! Hopy;)
We know that there is a final mechanism in error handling in the C + + and Ruby languages, which happens whenever an error occurs. This is a good time to deal with the finishing touches or cleanup work.
There is also a defer syntax in Swift, followed by closures that can do similar things, except that defer can be used not only in error handling, but in any situation where it needs to be cleaned:
varfalsefunc test(name:String)->Bool{ true defer { false } print("now isTrue is \(isTrue)") return"hopy"}test("hopy")print(isTrue)
You can see that IsTrue is true before test exits, and when the function exits, IsTrue becomes false due to the action of the preceding defer statement.
The final mechanism in swift similar to C + + and Ruby