iOS_swift문법 정리

extension 익스텐션

ios_DEV 2020. 6. 25. 17:31

 

 

익스텐션은 "확장" 이라는 뜻으로

기존에 있는 class, struct, protocol에 확장함수를 추가하는것이 가능하다.

 

활용

 

String객체에 뒤에 "test" 글씨를 추가하기 원한다. 익스텐션이 없이 공통 함수를 만들려면

공통으로 접근 가능한 클레스에 

 

func setPlusTest(string:String) -> String

{

        return string + "test"

}

 

이렇게 스트링을 인자로 받아 추가해서 다시 스트링으로 리턴을 해줘야 한다.

하지만 익스텐션을 사용하면 클레스에서 사용하는 모든 객체에 함수 부여가 가능하다.

 

extension String                   //==> String클레스에 함수를 추가하라

{

    func setPlusTest() -> String

    {

        return self + "test"

    }

}

 

self가 문자열 자기 자신이 된다. 

요즘엔 익스텐션을 훨씬 많이 활용한다.

 

String클레스 뿐만 아니라 커스텀 클레스Struct에서도 사용이 가능하니 활용하면 좋다.