Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Swift 2.0 Basics Swift Types String Manipulation

Kjetil Korsveien
Kjetil Korsveien
1,713 Points

Works in Xcode, but not in the CodeChallenge

Xcode, but not in the CodeChallenge

let name = "Kjetil." let greeting = "("Hi there") (name)"

also tried different variations with the punctionation mark.

strings.swift
// Enter your code below
let name = "Kjetil."
let greeting = "\("Hi there") \(name)"
Kjetil Korsveien
Kjetil Korsveien
1,713 Points

Tnx Kyle! I wasn't thinking simple enough :)

1 Answer

Kyle Lambert
Kyle Lambert
1,969 Points

Hi Kjetil, the reason for the error is because you're trying to use string interpolation on a value that isn't declared. 'name' is declared by the constant

let name = "Kjetil"

However 'Hi there' isn't declared and is only a part of the constant 'greeting'

There is two ways to correct this.

  1. Remove string interpolation from 'Hi there'

    let name = "Kjetil"
    let greeting = "Hi there \(name)."
    
  2. Declare 'Hi there' as a constant

    let name = "Kjetil"
    let someGreeting = "Hi there"
    let greeting = "\(someGreeting) \(name)."
    

But for the sake of this code challenge use answer 1.