반응형
// 익스텐션
// 타입에 새로운 기능을 추가할 수 있는 기능
//extension 확장할 타입 {
//}
//extension String: 프로토콜1,프로토콜2,프로토콜3 {
//
//}
// 예시
extension Int {
var isEven: Bool {
return self % 2 == 0
}
var isOdd: Bool {
return self % 2 == 1
}
}
print(1.isEven)
print(2.isEven)
// 메서드 추가 예시
extension Int {
func multiply(by n: Int) -> Int {
return self * n
}
}
print(3.multiply(by: 3))
// 생성자 추가 예시
extension String {
init(intTypeNumber: Int){
self = "\(intTypeNumber)"
}
init(doubleTypeNumber: Double) {
self = "\(doubleTypeNumber)"
}
}
let a: String = String(intTypeNumber: 100)
print(a)
반응형
'iOS > Swift' 카테고리의 다른 글
Xcode 단축키 (0) | 2022.01.30 |
---|---|
[Swift] 고차함수 map, filter, reduce (0) | 2022.01.25 |
[Swift] 프로토콜 protocol (0) | 2022.01.25 |
[Swift] assert 와 guard (0) | 2022.01.25 |
[Swfit] 옵셔널 체이닝 (0) | 2022.01.24 |