[swift] protocol adjusted class, structure and enum

iOS 2015. 7. 23. 00:25
반응형

protocol ExampleProtocol {

    var simpleDescription: String { get }

    mutating func adjust()

}


class SimpleClass : ExampleProtocol {

    var simpleDescription : String = "A very simple class."

    var anotherProperty: Int = 1923

    func adjust() {

        simpleDescription += " Now 100% adjusted."

    }

}


var a = SimpleClass()

a.adjust()

let aDescription = a.simpleDescription


println(aDescription)


struct SimpleStructure: ExampleProtocol {

    var simpleDescription: String = "A simple structure"

    mutating func adjust() {

        simpleDescription += " (adjusted)"

    }

}


var b = SimpleStructure()

b.adjust()

let bDescription = b.simpleDescription


println(bDescription)


enum SimpleEnum : ExampleProtocol {

    

    case Base, Adjusted

    

    var simpleDescription: String {

        get{

            return self.getDescription()

        }

    }

    

    func getDescription() -> String {

        switch self {

        case .Base :

            return "A simple description of enum"

        case .Adjusted:

            return "Adjusted description of enum"

        default:

            return "default description"

        }

    }

    

    mutating func adjust() {

        self = SimpleEnum.Adjusted

    }

}


var c = SimpleEnum.Base

c.adjust()

let cDescription = c.simpleDescription


println(cDescription)


반응형

'iOS' 카테고리의 다른 글

Loops, Switch Statements, and Ranges in Swift  (0) 2015.07.23
[swift] card  (0) 2015.07.23
swift create json and parse  (0) 2015.07.21
IOS 개발팁 (32BIT로 개발된 앱을 64BIT로 변환 방법)  (0) 2015.07.13
xcode Home, End key  (0) 2015.07.12
: