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 trialCarmen Ibarcena
iOS Development Techdegree Student 8,296 PointsHello guys!! I have a question i started yesterday doing the Interactive Story App but today i did the update on Xcode
which it was Swift 3 to my surprise is been a headache since I am new in this i had so many errors even though I am writing the code exactly as Pasan does it in the following code the compiler is giving me error because it says that addChoide is unuse. Can someone help me and what can I do? Thank you
struct Adventure { static var story: Page { let returnTrip = Page(story: .ReturnTrip) let touchdown = returnTrip.addChoice("Stop and Investigate", story: .TouchDown) let homeward = returnTrip.addChoice("Continue Home to Earth", story: .Homeward) let rover = touchdown.addChoice("Explore the Rover", story: .Rover) let crate = touchdown.addChoice("Open the Crate", story: .Crate)
homeward.addChoice("Head back to Mars", page: touchdown)
let home = homeward.addChoice("Continue Home to Earth", story: .Home)
let cave = rover.addChoice("Explore the Coordinates", story: .Cave)
rover.addChoice("Return to Earth", page: home)
cave.addChoice("Continue towards faint light", story: .Droid)
cave.addChoice("Refill the ship and explore the rover", page: rover)
crate.addChoice("Explore the Rover", page: rover)
crate.addChoice("Use the key", story: .Monster)
return returnTrip
}
}
4 Answers
Ronnie Stanley
4,842 PointsYou should be using Xcode 7 until the courses have been updated for Xcode 8 and Swift 3
Gruff Vaughan
11,073 PointsI had this headache, until I played around and found under 'Build Settings' a dropdown for 'Use Legacy Swift Language Version'.
Change this to 'Yes' and your code will compile.
Carmen Ibarcena
iOS Development Techdegree Student 8,296 PointsThanks Gruff Vaughan what i did was i download Xcode 7.3 because it was going to be a big headache!!!
Thank you!! =)
Thomas Hugo
5,457 PointsThe biggest change I've noticed with Swift 3 // Xcode 8 that causes issues with old code is referenced here, specifically where it mentions "If a parameter has an argument label, the argument must be labeled when you call the function". This contrasts the Swift 2 // Xcode 7 practice of omitting the first parameter label.
In this particular case, you would simply need to add the first parameter label "title" each time the "addChoice" method is called.
So instead of "let touchdown = returnTrip.addChoice("Stop and Investigate", story: .TouchDown)" you would add "title: " so it reads "let touchdown = returnTrip.addChoice(title: "Stop and Investigate", story: .TouchDown)".