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!

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 Basics Swift Operators Working With Operators: Part 2

Simone Renaud
Simone Renaud
Courses Plus Student 1,948 Points

Why is it best practice to use not operator in this case? Why can't we just write: let isWinner = (!10) Thanks

Is it because we need to establish that it can be any number < or > 10?

// Enter your code below

var initialScore = 8
initialScore += 1
let isWinner = (!10)

1 Answer

You still have to compare initialScore to 10 not just assign the value of false to isWinner. Remember the goal is to check if initialScore is 10 or not.

var initialScore = 8
initialScore += 1
let isWinner = initialScore != 10

Also when you place ! in front of a object you are saying it is the opposite of it, not comparing. This is something used on type bool. You are attempting to use it here on type Int. Paste code below into a playground for a better understanding.

var isUserLoggedIn = true
print(isUserLoggedIn)     //equals true

isUserLoggedIn = !isUserLoggedIn
print(isUserLoggedIn)     //equals false

isUserLoggedIn = !isUserLoggedIn
print(isUserLoggedIn)     //equals true again