전체 글 (67) 썸네일형 리스트형 Swift - Property Wrapper 오늘은 Property Wrapper 라는 것을 알아보는 시간을 갖도록 하겠습니다 연산 프로퍼티(Computed property)의 getter, setter를 기본으로 가진 구조체(Property)를 Property wrapper 라고 합니다. 구조체 상에서 반복되는 로직이 있을경우에 프로퍼티 자체에 연결할 수 있어 보일러플레이트 코드와 코드 재사용성을 높혀줍니다. 예시1 @propertyWrapper struct CutTitle { private var title: String = "" var wrappedValue: String { get { if title.count > 2 { return String(title[...title.index(title.startIndex, offsetBy: 2)]).. Swift - Reactive Programming (Rx) Reactive Programming 은 반응형 프로그래밍이라고도 하며, 현재 가장핫(?) 한 기술중 하나이다. 검색하면 정말 좋은 자료들이 많지만 저도 숟가락 하나 얹어 보겠습니다. 그래서 Reactive Programming 이 무엇이냐? ReactiveX에서 observer는 observable 을 구독한다. observer는 observable이 방출하는 모든 아이템(들)에 대해 반응한다. 비동기 프로그래밍을 더욱 쉽게 개발 하기 위한 라이브러리이며 기존 명령형 프로그래밍이 아닌 선언형 프로그래밍으로 개발이 가능하다. 값이나 오브젝트 의 대한 내용을 구독 함으로써 값의 변화에 대응 할수가 있다. Observable - 옵저버블 (Observable) 이란 데이터 스트림을 생성하는 객체를 말한다. .. Swift - ReactorKit / ErrorHandling https://moonggi-dev-story.tistory.com/49 글에 이어서 ReactorKit 에 대해 적도록 하겠습니다. Http 통신중에 발생할수 있는 오류에 대해 ReactorKit으로 처리할수 있는 방법을 적겠습니다. func mutate(action: Action) -> Observable { switch action { case .http: return Observable.concat([ Observable.just(Mutation.setLoading(true)), setHttp().map{Mutation.setResult($0)}, Observable.just(Mutation.setLoading(false)) ]) } } 해당 프로세스는 로딩(true) -> Http 통신 완료후 .. Algorithm(Swift) - K번째수 프로그래머스에 있는 정렬에 있는 K번째수 문제 입니다. 소스를 먼저 첨부하고 분석 해보도록 하겠습니다. func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] { var resultArray : [Int] = [] for i in 0.. Algorithm(Swift) - 두 개 뽑아서 더하기 프로그래머스에 있는 월간 코드 챌린지 시즌1에 있는 두개 뽑아서 더하기 문제 입니다. 두개의 수를 뽑아야 하기때문에 첫번째 값하고 두번째 값을 비교하는 형식으로 for문을 돌렸습니다. 각각 두개의 값을 뽑은다음에 합계를 배열에 저장하고 출력할경우 다음과 같이 나옵니다. func solution(_ numbers:[Int]) -> [Int] { var result : [Int] = [] for i in 0.. Swift - iOS 면접 질문 리스트 해당 면접 질문 리스트에 대해 노션으로 작업 중에 있습니다. 많은분들의 블로그와 지식을 참고하여 한개한개씩 작성중에 있습니다. 매주매주 업데이트 중입니다! https://moonggi-notepad.notion.site/iOS-07242d5af9ac4c279abf74e254020032 iOS 면접 질문 리스트 iOS moonggi-notepad.notion.site Swift - UICollectionView + Paging CollectionView 에 Paging 기능을 추가해서 이미지 관련 배너 및 썸네일을 만들때 유용하게 사용 할수 있다. 좀더 간단하게 만들기 위해 RxSwift, RxCocoa를 이용했다 1. ViewController import UIKit import RxCocoa import RxSwift class ViewController: UIViewController { @IBOutlet weak var mCollectionView: UICollectionView! @IBOutlet weak var mCountText: UILabel! var imageArray = ["image1", "image2", "image3", "image4"] let lineSpacing: CGFloat = 20 let cel.. Swift - SceneDelegate AppDelegate.swift, SceneDelegate.swift 파일은 Xcode 상에서 새로운 프로젝트를 생성할때 만들어지는 파일이며 앱의 상태 변화 및 전역변수 선언, 기타 이벤트 처리 를 할수있는 파일이다. 1. AppDelegate.swift (iOS 13 버전 이전) - 앱 안에서 상태 변화에 응답하면서 초기에 앱 컨텐트를 그리는 역할을 수행한다 -> iOS 13 버전부터는 일부 기능이 SceneDelegate로 넘어 갔다. - 생명주기 관련 메소드 import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { // 애플리케이션이 실행된 직후 사용자의 화면에 보여지기 전에 호출 func application(_ appl.. 이전 1 2 3 4 5 6 7 8 9 다음