SWIFT
-
210214 TIL: POP-3: extension, subscript, overload/overrideTIL 2021. 2. 14. 23:27
POP https://welly-log.tistory.com/10?category=920557 Swift4: Protocol Oriented Programming - 3.확장 3장 확장 확장 확장은 이미 존재하는 타입의 소스 코드가 없더라도 기능을 추가할 수 있게 해준다. 확장으로 추가할 수 있는 것들 연산 프로퍼티 인스턴스/타입 메소드 Convenience Initializer 서브스 welly-log.tistory.com Subscript 서브스크립트 (Subscripts) 서브스크립트 (Subscripts) jusung.gitbook.io 콜렉션, 리스트, 시퀀스 등 집합의 특정 멤버 요소에 간단하게 접근할 수 있는 문법. 하나의 타입에 여러 서브스크립트를 정의할 수 있고, 오버로드가 가능. 배열에..
-
Swift4: Protocol Oriented Programming - 2.타입 선택POP 2021. 2. 14. 03:19
2장 타입 선택 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타입들은 모두 이름 있는 타입이다. 복합 타입은 타입을 정의할 때 이름을 부여하지 않은 타입을 말하며, 함수 타입과 튜플 등이 있다. typealias 를 이용하여 복합 타입에 별칭을 붙여 호출할 수도 있다. 또한, 참조 타입과 값 타입으로도 타입을 나눌 수 있다. 참조 타입 인스턴스를 전달하는 것은 원본 인스턴스의 참조를 전달하는 것으로, 두 참조가 같은 인스턴스를 공유한다는 뜻이다. : 클래스 값 타입 인스턴스를 전달할 때에는 인스턴스의 새로운 복사본을 전달하며, 각 인스턴스가 유일한 사본의 의미를 가진다. ..
-
210213 TIL: POP-2: type, 함수/메소드TIL 2021. 2. 13. 23:38
POP https://welly-log.tistory.com/8 Swift4: Protocol Oriented Programming - 2.타입 선택 2장 타입 선택 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타 welly-log.tistory.com Swift4: Protocol Oriented Programming - 2장 타입 선택 내용 정리 함수 vs 메소드 함수(Function) VS 메소드(Method) 함수(Function) VS 메소드(Method) 안녕하세요 :) Zedd입니다. 갑자기 Swift에서 함수와 메소드의 명칭..? 언제 함수라고 불러야하고 메..
-
210212 TIL: POP, type, Xcode tipTIL 2021. 2. 12. 23:55
POP https://welly-log.tistory.com/5 Swift4: Protocol Oriented Programming - 1.프로토콜 시작 1장 프로토콜 시작 프로토콜(protocol) 프로토콜은 작업을 수행하기 위해 타입에서 필요로 하는 메소드, 프로퍼티 그리고 다른 요구사항을 정의하는 계약의 역할을 한다. 프로토콜 요구 사항 프로 welly-log.tistory.com Swift4: Protocol Oriented Programming - 1장 프로토콜 시작 내용 정리 타입 Swift에서 타입은 이름 있는 타입과 복합 타입으로 나뉜다. 이름 있는 타입은 클래스, 구조체, 열거형, 프로토콜 등이 있으며, 원시 타입이라 불리는 스위프트 표준 데이터 타입들은 모두 이름 있는 타입이다. 복합 ..
-
Swift4: Protocol Oriented Programming - 1.프로토콜 시작POP 2021. 2. 12. 23:51
1장 프로토콜 시작 프로토콜(protocol) 프로토콜은 작업을 수행하기 위해 타입에서 필요로 하는 메소드, 프로퍼티 그리고 다른 요구사항을 정의하는 계약의 역할을 한다. 프로토콜 요구 사항 프로토콜에서 프로퍼티를 정의할 때에는 항상 get과 set 키워드로 프로퍼티가 읽기 전용인지 읽기 쓰기 프로퍼티인지 명시해줘야만 한다. 선택 가능한 요구사항 프로토콜 앞에 @objc 키워드를 붙여 선택 가능한 메소드나 프로퍼티를 프로토콜에 포함할 수 있다. 단, class만 해당 프로토콜을 채택 가능 프로퍼티나 메소드 앞에는 @objc optional 키워드를 붙인다 프로토콜 컴포지션 프로토콜 컴포지션은 class에서 단일 상속만 가능한 swift에서 객체의 요구사항을 구체적이고 중복없이 구현하도록 해준다. 깊이감 ..
-
210211 TIL: staticTIL 2021. 2. 11. 23:52
static 본문: [Swift] static과 class method, property 효과적으로 사용하기 프로퍼티나 메소드 앞에 static 키워드를 붙여 인스턴스가 아닌 선언된 타입과 해당 프로퍼티나 메소드를 연결할 수 있다. 언제 사용할까 static 프로퍼티의 가장 일반적인 사용은 환경 설정이다. static한 String으로 정의해 두면 네임스페이스(개체를 구분할 수 있는 범위)를 제공할 수 있다. enum AppStyles { enum Colors { static let mainColor = UIColor(red: 1, green: 0.2, blue: 0.2, alpha:1) } } 다음과 같이 앱 전체에 쓰이는 컬러를 위와 같이 정의해 두면 설명적 이름으로 가독성이 좋다. Notificat..
-
정렬알고리즘/이론 2021. 2. 11. 17:22
본 글은 '이것이 취업을 위한 코딩 테스트다 with 파이썬' 책을 공부하며 기록합니다. 단, iOS를 공부하고 있기 때문에 swift 언어로 코드를 바꿔보고 있습니다. 퀵 정렬(quick sort) 가장 많이 사용되는 알고리즘 데이터의 특성을 파악하기 어렵다면 퀵 정렬이 유리 기준을 설정한 다음 큰 수와 작은 수를 교환한 후 리스트를 반으로 나누는 방식 피벗 사용 : 교환하기 위한 기준 평균 시간 복잡도 $O(NlogN)$ 그러나 최악의 경우 (데이터가 이미 정렬이 되어 있을 경우) O(N^2)이다 일반적 퀵 정렬 코드 var array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8] func quick_sort(array: inout [Int], start: Int, end: Int) { ..
-
부스트캠프2020 챌린지 후기 및 멤버십 다짐Log 2021. 2. 10. 23:36
4주간의 부스트캠프 2020 챌린지가 끝났다. 시작하기 며칠 전에는 과연 이 과정을 잘 헤쳐나갈 수 있을지부터 시작해서 도대체 무엇을 하는 건지 너무 설레었다. 나는 iOS 과정을 신청했고, 그 이유는 마침 맥북을 샀다는 것과 웹 개발은 어쩐지 내키지 않아서였다. 코딩 테스트에서 문제를 끝까지 풀어본 경험도 부캠 코딩 테스트에서가 처음이었던 내가 약 10 대 1의 경쟁률을 뚫고 합격할 수 있었던 것이 상대적으로 iOS 지원자가 적었던 덕이지 않을까 생각하기도 했다. 챌린지 과정에서는 iOS 개발보다는 CS 전반적인 내용을 공부했다. 처음에는 풀타임 동안 코딩을 한다고 ? 하면서 의문을 가졌었는데, 7시는커녕 매일 새벽까지 코딩하고 학습 정리하는 내 모습을 볼 수 있었다.. 마지막 주에는 챌린지 과정이 한..