2014년 9월 12일 금요일

Swift - Xcode 6.1 Beta 변경점

이제 Xcode 6가 GM이 되면서 더 이상 베타가 아니게 되었다. GM 버전은 최종 릴리즈 후보로써 큰 문제가 없다면 바로 정식릴리즈가 되는 버전이다. 그런데 6 GM 버전에는 Swift로 맥(Cocoa) 앱을 개발 할 수 없다는 문제가 있다. 그래서 6.1 베타를 찾아보게 되었다.

설치법

기존에는 iOS나 Mac 앱 개발자 센터에서 베타 항목이 있어서 바로 다운로드 받을 수 있었지만, 이제는 6.0이 GM이 되어버려서 더이상 베타가 아니다. 6.1 베타는 https://developer.apple.com/xcode/downloads/ 에서 다운로드가 가능하다.

참고로 Xcode 6.1 Beta for OS X Yosemite 라고 적혀있는데 매버릭스(Mavericks)에서도 잘 돌아간다.

설치 방법은 기존과 동일하니 생략. 다만 이제 앱 이름이 Xcode-Beta.app 이라고 적혀있다.

스위프트(Swift) 변경점

프레임워크와 관련된 내용은 생략한다. 어차피 스위프트와 어울리기 작업이 계속 진행중인거 뻔히 알고 있고 알아봤자 바로 써 먹을 것도 없다. -_-;

이제 생성자(init) 에서 nil을 리턴시키는 것이 가능해진다. init? 라는 형식의 생성자를 선언하고 사용하면 된다.
class NegativeNumber {
    var value: Int = 0
    
    init?(value: Int) {
        if value < 0 {
            self.value = value
        }
        else {
            return nil
        }
    }
}

let nn0 = NegativeNumber(value: 0)      // nn0 = nil
let nn1 = NegativeNumber(value: -1)     // nn1.value = -1
인스턴스 생성 시 밸리데이션을 편하게 할 수 있는 길이 열렸다.

이제 '?' 오퍼레이터도 오버로드가 가능하게 되었다. 물론 난 쓰지 않을거지만...

그 외에 Enum 타입의 변수와 값 끼리 동등(Equals) 비교가 안되던 치명적인 문제가 수정되는 등 다수의 버그가 수정되었다. 다만 상세하게 내용을 알 필요는 없는 것 같다.

[관련글] 스위프트(Swift) 가이드​

댓글 없음 :