본문 바로가기

Smart Device59

Swift struct - struct 구조체를 만들기 위해서는 struct를 사용한다. 구조체는 클래스의 함수나 초기화 등과같은 많은 같은 동작을 제공한다. 구조체와 클래스의 중요한 차이점중에 하나로 구조체는 코드에 값을 전달하고 클래스는 참조를 전달하는 것이다. 예1) struct Card { var rank: Rank var suit: Suit func simpleDescription() -> String { return "The \(rank.simpleDescription()) of \(suit.simpleDescription())" } } let threeOfSpades = Card(rank: .Three, suit: .Spades) let threeOfSpadesDescription = threeOfSpades.si.. 2014. 7. 2.
Swift Enumerations - Enumerationsenumeration은 enum 키워드로 만들 수 있다. enumeration은 Class와 같은 다른 형식들과 마찬가지로자기자신과 관련된 Method를 가질 수 있다. enum Rank: Int { case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King func simpleDescription() -> String { switch self { case .Ace: return "ace" case .Jack: return "jack" case .Queen: return "queen" case .King: return "king" default: return String(.. 2014. 6. 29.
Swift Objects and Classes #3 -Class에서의 Method는 함수와는 다른 중요한 차이가 하나 있다. 함수에서 인자는 함수 내에서만사용되지만 Class의 Method는 첫번째 인자를 제외하고는 Method를 호출할 때에도 별도의 이름을지정해 사용될 수 있다. Method안에서 사용되어지는 두번째 인자명을 지정할 수도 있다. class Counter { var count: Int = 0 func incrementBy(amount: Int, numberOfTimes times: Int) { count += amount * times }}var counter = Counter()counter.incrementBy(2, numberOfTimes: 7) - optional values을 사용할 때에는 methods, properties, a.. 2014. 6. 29.
Swift Objects and Classes #2 - Properties getter setter - Properties properties는 getter와 setter를 가진다. class NamedShape { var numberOfSides: Int = 0 var name: String init(name: String) { self.name = name } func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." }} class EquilateralTriangle: NamedShape { var sideLength: Double = 0.0 init(sideLength: Double, name: String) { self.sideLength = sideLength super.init(name: name) n.. 2014. 6. 24.