Swift의 확장 기능
Swift에 대한 간략한 소개
Swift는 안전 기능 및 소프트웨어 디자인 패턴을 포함하는 현대적인 접근 방식을 사용하여 만든 Apple에서 개발한 언어입니다. 이름에서 알 수 있듯이 swift는 빠르고 안전하며 사용하기 쉽습니다. 기본적으로 C 기반 제품군(C, C++ 및 Objective-C)을 대체합니다. 앱을 만드는 데 사용할 수 있으며 클라우드 서비스에도 사용할 수 있으며 가장 빠르게 성장하는 언어 중 하나입니다.
Swift의 확장 기능
확장은 기존 클래스, 구조, 열거 또는 프로토콜 유형에 새로운 기능을 추가합니다. 여기에는 원본 소스 코드에 액세스할 수 없는 유형을 확장하는 기능이 포함됩니다(소급 모델링이라고 함)."
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
여기에서 우리는 프로토콜에서 먹는 방법을 제공하지 않았지만 해당 프로토콜을 준수하는 클래스에서 여전히 사용할 수 있음을 알 수 있습니다.
희망, 도움이되고 추가하려는 경우. 아래 댓글.
Reference
이 문제에 관하여(Swift의 확장 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/dsc_ciet/extensions-in-swift-hd7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
여기에서 우리는 프로토콜에서 먹는 방법을 제공하지 않았지만 해당 프로토콜을 준수하는 클래스에서 여전히 사용할 수 있음을 알 수 있습니다.
희망, 도움이되고 추가하려는 경우. 아래 댓글.
Reference
이 문제에 관하여(Swift의 확장 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/dsc_ciet/extensions-in-swift-hd7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)