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 Build a Simple iPhone App with Swift Creating a Data Model Refactoring Into a Model

Samar Khanna
Samar Khanna
1,757 Points

Why do we have to assign the let constant at all?

Why can't we just say

funFactLabel.text = FactBook.factArray[0]

instead of using the instance:

funFactLabel.text = factBook.factArray[0]
Traci McGrew
Traci McGrew
2,559 Points
//Doing the first snippet of code you wrote creates a new struct everytime
funFactLabel.text = FactBook.factArray[0]

//Instead, declare new instance of the struct FactBook once

     let factBook = FactBook()

//then keep accessing the same instance not a new one everytime
funFactLabel.text = factBook.factArray[0]

Watch the video "Refactoring Into a Model" from like 4:25 to 5:30 if you're still confused as to why.