Swift의 확장 기능

Swift에 대한 간략한 소개



Swift는 안전 기능 및 소프트웨어 디자인 패턴을 포함하는 현대적인 접근 방식을 사용하여 만든 Apple에서 개발한 언어입니다. 이름에서 알 수 있듯이 swift는 빠르고 안전하며 사용하기 쉽습니다. 기본적으로 C 기반 제품군(C, C++ 및 Objective-C)을 대체합니다. 앱을 만드는 데 사용할 수 있으며 클라우드 서비스에도 사용할 수 있으며 가장 빠르게 성장하는 언어 중 하나입니다.

Swift의 확장 기능



확장은 기존 클래스, 구조, 열거 또는 프로토콜 유형에 새로운 기능을 추가합니다. 여기에는 원본 소스 코드에 액세스할 수 없는 유형을 확장하는 기능이 포함됩니다(소급 모델링이라고 함)."

Swift의 확장은 다음을 수행할 수 있습니다.
  • 계산된 인스턴스 속성 및 계산된 유형 속성 추가
  • 인스턴스 메소드 및 유형 메소드 정의
  • 새 이니셜라이저 제공
  • 첨자 정의
  • 새 중첩 유형 정의 및 사용
  • 기존 유형이 프로토콜을 준수하도록 합니다.

  • 확장 구문




    
    extension someType {
    // functionality to add goes here
    }
    


    확장에 대한 코딩 예제



    정수에 대한 내장 함수가 1씩 증가하거나 감소하기를 원한다고 가정해 보겠습니다. 하나 만들자

    
    extension Int {
        func incrementByOne() -> Int  {
            return (self + 1)
        }
        func decrementByOne() -> Int {
            return (self - 1)
        }
    }
    
    let number : Int = 2
    print(number.incrementByOne()) //3
    print(number.decrementByOne()) //1
    


    여기서 self는 연산이 수행된 값을 나타냅니다.

    프로토콜에서 확장을 사용하는 방법을 보여주는 또 하나의 예

    protocol Human {
        func walking()
        func sleeping()
    }
    
    class Men : Human {
        func walking() {
            print("Men is walking")
        }
    
        func sleeping() {
            print("Men is sleeping")
        }
    
    }
    
    extension Human {
        func eating(person : String) -> String {
            return ("\(person) is eating")
        }
    }
    
    let objMen = Men()
    print(objMen.eating(person : "Men")) //Men is eating
    


    여기에서 우리는 프로토콜에서 먹는 방법을 제공하지 않았지만 해당 프로토콜을 준수하는 클래스에서 여전히 사용할 수 있음을 알 수 있습니다.

    희망, 도움이되고 추가하려는 경우. 아래 댓글.

    좋은 웹페이지 즐겨찾기