Created
March 28, 2017 23:49
-
-
Save jamesrochabrun/4ae5aa283485161ea5a369a550cb11dd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Given this classes | |
class Address { | |
var buildingNumber: String? | |
var street: String? | |
} | |
class Residence { | |
var numberOfRooms = 1 | |
var address: Address? | |
} | |
class Resident { | |
var residence: Residence? | |
} | |
let address = Address() | |
address.street = "Market 333, San Francisco" | |
address.buildingNumber = "10F" | |
let residence = Residence() | |
residence.address = address | |
let sasha = Resident() | |
sasha.residence = residence | |
//WE CAN USE OPTIONAL CHAINING TO CHECK FOR NIL VALUES IN THE CHAIN LIKE SO... | |
if let buildingnumber = sasha.residence?.address?.buildingNumber { | |
print(buildingnumber) | |
} | |
//if buildingNumber is not nil will check for the next to the left and so on. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment