일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- CoreLocation
- firebase
- 원격 푸시
- IBOutletCollection
- 연산 프로퍼티
- property wrapper
- DispatchQueue
- WWDC16
- tableViewCell
- IBOutlet
- SWiFT
- Choosing Between Structures and Classes
- weak
- Understanding Swift Performance
- userdefaults
- TableView
- UIButton
- AppTransportSecurity
- 동시성프로그래밍
- uikit
- viewcontroller
- Remot Push
- 후행 클로저
- RunLoop
- ios
- 트레일링 클로저
- for-in
- entrypoint
- OperationQueue
- 진입점
- Today
- Total
목록Swift (5)
iOS 공부하는 감자
객체 vs 인스턴스 다른 프로그래밍 언어들은 Swift와 다르게 구조체의 기능이 제한적이다. (메서드를 사용하지 못함) 그래서 클래스의 인스턴스를 많이 사용하고, 클래스의 인스턴스를 전통적으로 객체라고 부른다. 하지만 Swift에서 구조체는 Class와 기능이 흡사하기 때문에 객체보단 Class와 Struct를 모두 표현할 수 있는 인스턴스라는 표현을 사용한다. Structures and Classes An instance of a class is traditionally known as an object. However, Swift structures and classes are much closer in functionality than in other languages, and much of thi..
순서동시성 프로그래밍Operation과 비교해볼 GCD 기능OperationOperationQueueQosBlock Operation비동기 함수를 호출하는 Operation종속성작업 취소 동시성 프로그래밍분산 처리가 필요한 작업들을 여러 스레드로 분산시켜서 처리하는 프로그래밍 방식Swift에서는 동시성 프로그래밍 구현을 위한 2가지 방법을 제공한다.GCD (DispatchQueue)Operation - OperationQueue자바나 C언어같은 경우, 개발자가 동시성 프로그래밍을 구현하기 위해 직접 스레드를 생성하고 수행할 작업을 지정해야 한다.Swift에서는 동시적으로 사용할 스레드의 개수를 직접 관리하지 않고, Queue라는 대기행렬로 작업을 전달하면 OS가 알아서 여러 스레드로 분배하여 처리한다.따..
Property Wrapper란 Swift 5.1에서 추가된 기능으로, 해석 그대로 프로퍼티를 한번 감싸는 것을 의미한다. Property Wrapper를 사용하면 프로퍼티가 저장되는 방식을 관리하는 코드와 프로퍼티를 정의하는 코드 사이에 분리 계층을 추가하여 프로퍼티를 관리할 수 있다. 만약 특정 문자열 프로퍼티의 값을 대문자로만 사용하고 싶을 때, Property Wrapper를 사용하지 않고 연산 프로퍼티로 구현하면 아래와 같이 코드를 작성할 수 있다. struct Person { private var _name: String // name에 값이 할당되면 _name에 그대로 저장하고 // 값을 반환할 때는 _name에서 uppercased()메서드를 호출한 후 반환한다. var name: Stri..
공통 : 특정 문자를 기준으로 문자열을 분리하여 Collection 형태로 반환한다. Split() [Substring] 형태로 반환한다. (서브스트링은 원본값의 메모리를 공유하므로, 메모리가 조금 더 효율적으로 작동됨) 맨 아래 참고 클로저를 사용하여 (분리하는데) 기준이 되는 문자를 구체적으로 정의할 수 있다. (활용도가 좋아짐) // CharacterSet 사용 불가 maxSplit 매개변수를 사용하여 최대 분리될 수 있는 횟수를 정해줄 수 있다. (default : Int.max) omittingEmptySubsequencece 매개변수는 Bool을 입력받는다. (= 빈 시퀸스 생략) true : 비어있지 않은(non-empty) 서브 시퀸스만 반환한다. (기본값) false : separator..
문자열 이어 붙이기 + 연산자 appending : 피연산자에 문자열을 이어 붙여서 새로운 문자열을 생성 append : 피연산 문자열에 직접 문자열을 추가 appending 메서드는 피연산 값이 변경되지 않으므로 side-effect가 없고, append는 피연산 값이 직접 변경되기 때문에 side-effect가 발생한다. 문자열의 특정 index 부분 가져오기 let someString: String = "abcdef" let n: Int = 3 // 1. String.Index를 통해 가져오기 let index: String.Index = someString.index(someString.startIndex, offsetBy: 3) //let result: Character = someString[..