NEW: My new book Pro SwiftUI is out now – level up your SwiftUI skills today! >>

CodingChallenges - challenge 27

Forums > Books

Hi everybody

i'm working on the great Coding Challenges Book but i'm struggle with the challenge 27 "Print last lines". We have to add a file to the playground (xcode) with some words then we retrieve the content of this file using contentsOfFile.

I dont really know if i correctly add the file to playground. I have greated a simple file (plain text) that i have added to the Resources file of the playground. Nothing happens. I try with a rtf file added in Ressources or Sources but with no success...

any help?



Hi, any help please?


@twostraws has written a terrific number of articles to help new programmers. Part of the fun of learning is finding the gems that he has sprinkled in and around this fantastic learning site. Maybe finding the answer was part of the syllabus? Something for you to find on your own?

Here's a hint:

See --> How to load a string file...

I just followed these instructions! And now I have working code in a Playground that reads a list of strings from a text file in the resources folder of a Playgrounds file. Awesome!

Give this a try on your own. If you fail, post your code. (Please use the code tags so your code is properly formatted.) Please make sure you comment your code so we can see what you understand and which bits and bobs might be giving you fits.

We're here to help you! But please Help Us to Help You! We need to know how to help you. I think the overall agenda here is helping you learn; it's not to just hand out answers.


thank for our answer. actually, my point was that the solution for this challenge in the book didn't work for me. I precisely followed the first lines of the solution and it didn't work:

func challenge27(filename: String, lineCount: Int) {
   guard let input = try? String(contentsOfFile: filename) else
{ return }

I thought that i haven't correctly created/added the file. I changed with the following and it works:

if let filepath = Bundle.main.path(forResource: filename, ofType: nil) {
    do {
    input = try String(contentsOfFile: filepath)
} catch {

as it isn't the precise solution of the book, i was wondering


Hacking with Swift is sponsored by Play

SPONSORED Play is the first native iOS design tool created for designers and engineers. You can install Play for iOS and iPad today and sign up to check out the Beta of our macOS app with SwiftUI code export. We're also hiring engineers!

Click to learn more about Play!

Sponsor Hacking with Swift and reach the world's largest Swift community!

Reply to this topic…

You need to create an account or log in to reply.

All interactions here are governed by our code of conduct.

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.