optional chaining class Student var dorm Dormitory class
- Slides: 14
範例程式 // optional chaining class Student { var dorm: Dormitory? } class Dormitory { var number. Of. Rooms = 2 } let peter = Student() let rooms = peter. dorm? . number. Of. Rooms print("Dormitory has (rooms) rooms")
輸出結果 Dormitory has nil rooms
14. 2 經由選項串連呼叫屬性、方法 n為了解釋選項串連起見,我們將程式再加以擴充。 n如下所示: class Student { var dorm: Dormitory? } class Dormitory { var number. Of. Rooms: Int func print. Number. Of. Rooms() { print("The number of rooms is (number. Of. Rooms)") } init(number. Of. Rooms: Int) { self. number. Of. Rooms = number. Of. Rooms } var location: Location? } class Location { var dormitory. Name: String? var street: String? }
範例程式 class Student { var dorm: Dormitory? } class Dormitory { var number. Of. Rooms: Int } func print. Number. Of. Rooms() { print("The number of rooms is (number. Of. Rooms)") } init(number. Of. Rooms: Int) { self. number. Of. Rooms = number. Of. Rooms } var location: Location? class Location { var dormitory. Name: String? var street: String? } let peter = Student() if let room. Number = peter. dorm? . number. Of. Rooms { print("Peter's dormitory has (room. Number) rooms") } else { print("Unabel to retrieve the number of rooms") }
輸出結果 Unabel to retrieve the number of rooms
範例程式 class Student { var dorm: Dormitory? } class Dormitory { var number. Of. Rooms: Int } func print. Number. Of. Rooms() { print("The number of rooms is (number. Of. Rooms)") } init(number. Of. Rooms: Int) { self. number. Of. Rooms = number. Of. Rooms } var location: Location? class Location { var dormitory. Name: String? var street: String? } // call method let peter = Student() peter. dorm = Dormitory(number. Of. Rooms: 10) peter. dorm!. print. Number. Of. Rooms()
輸出結果 The number of rooms is 10
14. 3 多重的串連 n我們將Location類別定義一實例peter. Location,指定Location類別 實例peter. Location的屬性,最後將其指定給peter. dorm? . location。
範例程式 class Student { var dorm: Dormitory? } class Dormitory { var number. Of. Rooms: Int func print. Number. Of. Rooms() { print("The number of rooms is (number. Of. Rooms)") } init(number. Of. Rooms: Int) { self. number. Of. Rooms = number. Of. Rooms } var location: Location? } class Location { var dormitory. Name: String? var street: String? } // multiple chain let peter = Student() peter. dorm = Dormitory(number. Of. Rooms: 10) let peter. Location = Location() peter. Location. dormitory. Name = "Big. House Building" peter. Location. street = "Hsingchang 777" peter. dorm? . location = peter. Location print(peter. dorm? . location? . dormitory. Name) print(peter. dorm? . location? . street)
輸出結果 Optional(Big. House Building) Optional(Hsingchang 777)
- Backward chaining
- Fudan international student dorm
- Nihad004
- Class maths student student1 class student string name
- Jmu jac card
- Uvm dorm rooms
- Fletc dorm rooms
- Sorata anime name
- Dorm room 203
- Uah dorm layout
- Mad.gab example
- Vertex form
- Svsu meal plans
- Dormitory reservation system
- When miah gets back to the dormitory