Saving Data in iOS

May 31 2022 · Swift 5.5, iOS 15, Xcode 13

Part 1: Files & Data

08. Challenge: String Data

Episode complete

Play next episode

Next
About this episode

Leave a rating/review

See forum comments
Cinema mode Mark complete Download course materials
Previous episode: 07. String Next episode: 09. Conclusion

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.

Transcript: 08. Challenge: String Data

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!