풍's토리

반응형

import UIKit

 

var str = "Hello, playground"

 

class Person {

    var name = ""

    var age = 0

   

    //default initialiazer

    init() {

        

    }

    

    //initialize with parameters(custom initializer)

    init(_ name:String, _ age:Int) {

        self.name = name

        self.age = age

    }

    convenience init(_ name:String) { // must be call other init

        self.init(name, 1)

    }

    

    func printInfo() {

        print("Name is \(name)")

        print("Age is \(age)")

    }

}

 

class BookInfo {

    var title:String? //optional - initialize to 'nil', nil like null

    var author:Person? //optional - initialize to 'nil'

}

 

var p = Person()

p.printInfo()

 

var p2 = Person("Someone")

p2.printInfo()

 

var my = Person("Test", 20)

my.printInfo()

 

var myBook = BookInfo()

myBook.title = "Swift"

myBook.author = my

 

print(myBook.title) //warning

if let myBookTitle = myBook.title { //no warning

    print(myBookTitle)

}

if myBook.author != nil {

    myBook.author!.printInfo() //! : using optional variable

}

 

'메뉴 일곱' 카테고리의 다른 글

[ios] swift 체험하기 #7 프로퍼티  (0) 2019.04.11
[ios] swift 체험하기 #5 클래스  (0) 2019.04.10
[ios] swift 체험하기 #4 함수  (0) 2019.04.09