Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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.