class Room {
let name: String
init(name: String) { self.name = name }
}
class Residence{
var rooms = [Room]()
var numberOfRooms : Int {
return rooms.count
}
subscript(i: Int) -> Room{
get{
return rooms[i]
}
set{
rooms[i] = newValue
}
}
func prineNumberOfRooms(){
print("The number of rooms is \(numberOfRooms)")
}
var address : Address?
}
class Address {
var buildingName: String?
var buildingNumber : String?
var street: String?
func buildingIdentifier() -> String? {
if buildingName != nil {
return buildingName
}else if buildingName != nil && street != nil {
return "\(String(describing: buildingName)) \(String(describing: street))"
}else{
return nil
}
}
}
class Person {
var residence: Residence?
}
let john = Person()
//let roomcount = john.residence!.numberOfRooms
if let roomcount = john.residence?.numberOfRooms {
print("John's residence has\(roomcount)room(s)")
}else{
print("Unable to retrieve the number of rooms.")
}
let someAddress = Address()
someAddress.buildingNumber = "29"
someAddress.street = "Acacia Road"
john.residence? .address = someAddress
func createAdddress() -> Address{
print("Function was called.")
let someaddress = Address()
someaddress.buildingNumber = "32"
someaddress.street = "NaShanStreet"
return someaddress
}
john.residence?.address = createAdddress()
网友评论