Summary

In this chapter, we saw that we can define a closure just like we can define an Integer or String type. We can assign closures to a variable, pass them as an argument to functions, and return them from functions.

Closures capture strong references to any constants or variables from the context in which the closure was defined. We do have to be careful with this functionality, to make sure that we do not create a strong reference cycle, which would lead to memory leaks in our applications.

Swift closures are very similar to blocks in Objective-C, but they have a much cleaner and more eloquent syntax. This makes them a lot easier to use and understand.

Having a good understanding of closures is vital to mastering the Swift programming language, and will make it easier to develop great applications that are easy to maintain. They are also essential for creating first-class frameworks that are easy both to use and maintain.

The three use cases that we looked at in this chapter are by no means the only three useful uses for closures. I can promise you that the more you use closures in Swift, the more uses you will find for them. Closures are definitely one of the most powerful and useful features of the Swift language, and Apple did a great job by implementing them in the language.

In the next chapter, we will look at how to use Swift and Objective-C together.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset