Swift7 [Swift ] RxSwift 1탄 - 핵심 기본 개념정리 안녕하세요 조이킴입니다. 🐥드디어 마주하게된 RxSwift...러닝커브가 높기로 유명한만큼 개념 정리가 무엇보다도 중요한지라 몇 차례에 걸쳐 나눠 정리해보려 합니다. RxSwift [Reactive Programming in Swift] 란? 앱은 단순한 그림이 아니라 사용자의 액션, 연결된 데이터의 흐름에 따라 계속해서 변화하는 interaction이 가능한 녀석입니다.화면에 단순히 뷰객체를 올려놓는 것은 예쁜 그림을 그리는 것에 지나지 않습니다. 우리 앱개발자의 핵심 역할은 어떻게 하면 좀 더 스무스하게 사용자와 앱이 interaction 할 수 있을지를 고민하는 것이라고 볼 수 있습니다. 그렇게 하기 위해서 우리는 '반응형' & '비동기' 프로그래밍을 하게 됩니다. 실시간으로 데이터의 상태.. 2024. 8. 5. [Swift] Concurrency 동시성 프로그래밍 1탄 - GCD, 기본개념 이해하기 안녕하세요 조이킴입니다.🐥개발자라면 무조건 알아야할 동시성 프로그래밍에 대해 정리해보려 합니다.내용이 방대하므로 이 페이지에서는 기본적인 동시성 프로그래밍에 대한 개념과 GCD 관련 개념을 정리해보겠습니다. 앱 성능 향상을 위해서는 상황에 맞춰 적절한 동시성 코드를 작성해야 하고, iOS 앱 개발 시에는 애플이 만들어둔 GCD로 동시성 코드를 작성할 수 있습니다. 즉, GCD를 잘 이해하면 비동기적으로 작업을 실행하고 애플의 멀티코어 프로세서 성능을 최적으로 활용할 수 있게 됩니다.https://developer.apple.com/documentation/DISPATCHThread 스레드 개념 프로그램을 실행하여 독립적인 메모리 공간에 올라간 상태를 프로세스라고 하는데, 이 프로세스 내에서 실행 되는.. 2024. 6. 23. [Swift] CustomView 커스텀뷰객체 재활용 - 뷰 작업 시간 단축하기 안녕하세요 조이킴입니다. 🐥뷰 작업 시간을 대폭 단축시킬 수 있는 CustomView를 소개합니다. CustomView class( 재사용할 수 있는 나만의 뷰객체) 개념 tableView에서 재활용할 셀을 xib파일이나 tableViewCell 파일로 만들어두고 활용하는 것처럼, 반복 사용이 필요한 디자인이 있을 경우 나만의 뷰객체 틀을 만들어두고 필요한 곳마다 찍어내 사용할 수 있는 customeView를 활용하면 편리합니다. init() 뷰객체 찍어내는 초기화 구문 parameter를 받아 활용할 수 있는 초기화구문을 만들수도 있고, 부모 클래스의 기존 초기화구문을 override 하여 사용할 수도 있습니다.필수생성자 누락 시 오류 주의UIView는 storyboard나 xib 파일 xml .. 2024. 6. 23. [Xcode] Code Snippet 코드스니펫으로 코드 재활용하기 (feat. 여러 맥 기기에 코드스니펫 동기화) 안녕하세요 조이킴입니다. 🐥자주 쓰게되는 코드를 매번 1부터 10까지 직접 작성하거나 매번 구글에 찾아보는 것은 비효율적입니다. 1초만에 재사용할 코드를 불러올 수 있는 Xcode의 마술사, Code Snippet을 소개합니다. Code Snippet 개념 Snippet이란 '작은 조각'을 뜻하는 용어에서 유추할 수 있듯이,자주 사용하는 코드블럭을 Xcode에 저장해두고 필요할 때마다 재활용할 수 있게 해주는 강력한 개발 도구입니다.필수로 구현하게되는 코드블럭들을 체계적으로 저장해두고 자동호출 기능을 통해 불러오면 됩니다. 코드 블럭 추가하기 1. 저장해두고 싶은 코드블럭 선택 -> 오른쪽 마우스 -> create code snippet 2. 맨 상단의 Title과 자동호출시 활용할 Comp.. 2024. 5. 23. 네트워크 서버 통신 코드 서버에서 원하는 데이터를 받아와 사용하는 기본 개념: 1. 서버에 데이터 요청(request) 2. JSON 형태로 받은 서버 데이터를 분석(Parsing) 3. Parse된 서버 데이터를 Struct / Class로 변환(Decoding) 더보기 JSON이란?) - JavaScript Object Notation의 약자 - 데이터 용량이 커질수밖에 없는 마크업 태그를 사용하는 기존 XML 방식을 극복하기 위해 만들어진 경량의 데이터 교환 형식. - 프로그래밍 언어와 플랫폼에 의존적이지 않고 독립적 - key : value 로 쌍을 이루는 Dictionary 형식. key는 무조건 String(문자열)만 가능 - JSON 형태로 받은 데이터는 그대로 사용할 수 없고, 파싱을 통해 프로그램이나 시스템에서 .. 2024. 4. 6. [Swift] 튜플 Tuple 튜플 Tuple - 여러 타입의 연관 데이터를 묶어서 사용하는 자료형 - 배열이나 딕셔너리와 달리 여러 타입의 데이터를 한번에 묶어서 사용할 수 있음 - 다만 선언과 동시에 해당 멤버가 확정되므로 추가/ 삭제가 불가능 - 튜플 내부의 각각 데이터 접근 가능 - 튜플 각 데이터에 이름 붙여서도 접근 가능 let person = (name: "Jay", gender: "female", age: 19) print(person.0) // "Jay" print(person.name) // "Jay" - 튜플 각 요소를 바인딩해서 상수/ 변수화 가능 >> 데이터 분해해서 활용하기 용이 let (name, gender, age) = ("Jay", "female", 19) print(name) // "Jay" 튜플의 .. 2024. 1. 17. 이전 1 2 다음