일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HIG
- map
- combine
- Refactoring
- swift documentation
- swiftUI
- tableView
- RxCocoa
- SWIFT
- 애니메이션
- Xcode
- Observable
- 스위프트
- Clean Code
- clean architecture
- ribs
- ios
- 리팩토링
- Protocol
- Human interface guide
- uiscrollview
- 리펙토링
- 클린 코드
- UICollectionView
- collectionview
- uitableview
- 리펙터링
- rxswift
- MVVM
- UITextView
- Today
- Total
목록불변성 (3)
김종권의 iOS 앱 개발 알아가기
@Sendable 개념Sendable이라는 의미는 "전달 할 수 있는"이라는 의미이지만, 생략된 의미가 존재@Sendable는 불변성을 보장하는 "전달 할 수 있는"의 의미로 사용동시성 프로그래밍에서 핵심은 프로퍼티들의 '불변성'을 유지하는 것프로퍼티들이 '불변성'을 만족한다면, 동시성 프로그래밍에서 쉽게 파라미터, 클로저 등에 넘겨서 처리하는 것에 race condition, dead lock, memory conflict 등의 문제등을 신경쓰지 않고 편하게 프로그래밍이 가능@Sendable의 목적은 값을 변경할 수 없도록 강제화하는것예제특정 closure가 있을 때 이 closure에서는 전역변수인 age값 수정이 가능class ViewController: UIViewController { va..
NSAttributedString과 NSMutableAttriubtedString 차이점 AttributedString 이란? AttributedString은 내부적으로 guts라는 인스턴스가 String 타입을 받아서 String에 속성을 부여하여 사용할 수 있도록 구현해 놓은 것 즉, String을 wrapping하여 단순 text에 색깔, 폰트와 같은 속성을 입힐 수 있도록 한 것 (구체적인 구현부는 swift-foundation 코드 참고) 초기화하고 값을 바꿀수 있다면 NSMutableAttributedString, 초기화 이후 값을 변경할 수 없다면 NSAttributedString 사용 NSAttributedString 예제) let attributes: [NSAttributedString...
필드 이름 바꾸기 필드 이름을 변경하려고 할 때 이 필드가 여러곳에서 사용되고 있는 경우 변경 방법은 캡슐화를 통해 리펙토링 필드 이름 바꾸기에서 생각하는 포인트 변경하려는 필드가 여러곳에서 사용되고 있는 경우, 어떻게 바꿀것인가? 데이터 구조가 불변성으로 표현되면 좋은 이유? 필드 이름 바꾸기 예시 아래에서 name 필드를 title로 변경하고 싶은 경우? 이 값은 여러곳에서 사용되고 있기 때문에 쉽게 바꾸기 힘든 상황 name을 단순히 title로 변경하고난 후 빌드에러나는 곳을 찾아서 일괄 변경할 수 있지만 일괄 수정하다가 실수를 유발할 수 있음 (swift에서 일반적으로 데이터 모델은 struct를 사용하지만, 불변성의 중요성을 깨닫기 위해 class로 선언) class MyData { var n..