// // ViewController.swift // swftDemoProject // // Created by Avinash Singh on 14/07/17. // Copyright © 2017 Avinash Singh. All rights reserved. // import UIKit struct Address { var street:String var zip:String var city:String var state:String } struct Friend { var name: String var addresses: [Address] var primaryAddress: Address { return addresses.first! } } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let address1 = Address(street: "Apple Bay Street", zip: "94608", city: "Emeryville", state: "California") let address2 = Address(street: "27th Way", zip: "85042", city: "Phoenix", state: "Arizona") let friend = Friend(name: "Steve Jobs", addresses: [address1,address2]) // print(friend[keyPath:\Friend.primaryAddress.state]) print(address1[keyPath:\Address.street]) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }