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.