Leave a rating/review
Notes: 08. Challenge: String Data
This course was originally recorded in April 2020. It has been reviewed and all content and materials updated as of November 2021.
In this challenge, you’ll learn about what’s happening behind the scenes when you save a String
with its write
method.
try string.write(to: <#T##URL#>, atomically: <#T##Bool#>, encoding: <#T##String.Encoding#>)
Here, you’ve got a method that creates a Data
object out of a String
using a “String Encoding”. Create a URL to save your string
from the previous episode using this new method you just saw about, then read the saved String
back!
Let’s go over the challenge. Regardless of the outcome, kudos to you for giving it a shot! Creating a URL for your file is something you have done a few times by now.
let catsURL = URL(fileURLWithPath: "Cats.txt", relativeTo: FileManager.documentsDirectoryURL)
How did you do with writing the string to a file, and the atomically
parameter? In your apps, atomically
is an important one; it allows you to write to a URL while avoiding potential file corruption.
…, atomically: true)
For reading the file back, I went with a String
initializer.
let catsChallengeString = try String(contentsOf: catsURL)
Your sidebar should show that you’ve successfully read back your four cat emoji. Excellent!