Skip to content

Instantly share code, notes, and snippets.

@khawajafarooq
Last active September 28, 2017 03:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save khawajafarooq/0bbbfc7bcec748d9cdadeb9e1f904cd2 to your computer and use it in GitHub Desktop.
Save khawajafarooq/0bbbfc7bcec748d9cdadeb9e1f904cd2 to your computer and use it in GitHub Desktop.
Underlying concept of mixed semantics in swift
struct Address {
let unitNumber: String
let buildingNumebr: String
}
struct Residance {
var numberOfRooms: Int
var address: Address
}
class User {
let name: String
var residance: Residance
init(name: String, unitNumber: String, buildingNumber: String, numberOfRooms: Int) {
self.name = name
let address = Address(unitNumber: unitNumber, buildingNumebr: buildingNumber)
self.residance = Residance(numberOfRooms: numberOfRooms, address: address)
}
}
let user = User(name: "Khawaja", unitNumber: "3A", buildingNumber: "209", numberOfRooms: 2)
user.residance.address.unitNumber = "3B" // compiler error
user.residance.address = Address(unitNumber: "3B", buildingNumebr: "209") // valid statement
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment