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 trialSamar Khanna
1,757 PointsUnderstanding nil
So let me get this right. If i pass nil value as the condition in the if statement, the if statement recognises the condition as the BOOL value false?
Caleb Kleveter
Treehouse Moderator 37,862 PointsI'm not really sure, I don't know Swift yet, but it's on the list.
1 Answer
Caleb Kleveter
Treehouse Moderator 37,862 PointsNot quite, nil is when something is equal to nothing, look at the code below:
if text == nil
NSLog(@"Return is nil")
text in the code above has nothing in it, ie. no content; the BOOL (Boolean) value of false means something is not true, like if I said text had a length of 100. Sorry if this doesn't make sense, it's hard to explain
Samar Khanna
1,757 PointsSamar Khanna
1,757 PointsAlso take this code: '''
func findApt (aptNumber : String) -> String? { let aptNumbers = ["101","202","303","404"] for tempAptNumber in aptNumbers { if ( tempAptNumber == aptNumber) { return aptNumber } } return nil }
if let culprit = findApt("202") { println("Apt found: (culprit)") }
let iAmGettingBugged = findApt("101") println(iAmGettingBugged) '''
Now in my console output, I am getting : "Apt found: 202" for my if statement, but "Optional("101")" for the ''' println(iAmGettingBugged) ''' code.
Why am i not getting the Optional("202") for the earlier IF statement?