2015년 10월 1일 목요일

스탠포드 Swift 강좌 팁

iTunes U에서 제공하는 스탠포드 대학의 Developing iOS 8 Apps with Swift 강좌를 듣고있다.

2강 예제 컴파일 오류


2강의 계산기 예제에는 다음과 같이 제곱근 계산을 위한 메서드가 있다.

    func performOperation(operation: Double -> Double) {
        if operandStack.count >= 1 {
            displayValue = operation(operandStack.removeLast())
            enter()
        }
    }

이 부분에서 다음과 같은 컴파일러 오류가 발생한다.
Method 'performOperation' with Objective-C selector 'performOperation:' conflicts with previous declaration with the same Objective-C selector

이유는 Swift 1.2에서 오버로딩에 대한 규칙이 엄격해졌기 때문이라고 하며, 다음과 같이 private을 붙여서 해결할 수 있다.

    private func performOperation(operation: Double -> Double) {
        if operandStack.count >= 1 {
            displayValue = operation(operandStack.removeLast())
            enter()
        }
    }


자세한 설명은 다음을 참조. http://stackoverflow.com/a/29670644/309046

프로젝트 1


파이(π)를 계산하는 버튼을 만들어야 하는데, XCode에서 해당 기호를 입력하려면 단축키 option + p를 사용한다.

댓글 없음:

댓글 쓰기