Wrap up
Wrap up êŽë š
Coming into this project you might thought strings were trivial, but I hope Iâve shown you that thereâs more to them than meets the eye.
Weâve looked at how strings are different from arrays, how we can write useful extensions for strings, how Swift lets us combine functions together beautifully, and how NSAttributedString
lets us add formatting to strings.
Of course, weâve only just scratched the surface of strings here, but the challenges below will encourage you to write some extensions of your own so you get a better feel for how it works.
Review what you learned
Anyone can sit through a tutorial, but it takes actual work to remember what was taught. Itâs my job to make sure you take as much from these tutorials as possible, so Iâve prepared a short review to help you check your learning.
Challenge
One of the best ways to learn is to write your own code as often as possible, so here are three ways you should try your new knowledge to make sure you fully understand whatâs going on:
- Create a
String
extension that adds awithPrefix()
method. If the string already contains the prefix it should return itself; if it doesnât contain the prefix, it should return itself with the prefix added. For example:"pet".withPrefix("car")
should return âcarpetâ. - Create a
String
extension that adds anisNumeric
property that returns true if the string holds any sort of number. Tip: creating aDouble
from aString
is a failable initializer. - Create a
String
extension that adds alines
property that returns an array of all the lines in a string. So, âthis\nis\na\ntestâ should return an array with four elements.