적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

Swift iOS 앱 개발/Swift 85

[Swift iOS] sort JSON Array : JSON 데이터 배열 정렬하기

JSON 데이터로 이루어진 배열을 정렬하는 법 다음과 같은 json 데이터 배열이 있다고 했을 때, jsonArray = ( { id = 0; name = "나비"; }, { id = 1; name = "가수"; }, ... ) name 인스턴스를 기준으로 한글 정렬을 하고 싶을 때, 다음과 같이 해줄 수 있다. (거꾸로 정렬하고 싶으면 > 해주면 됨) jsonArray.sort { $0.name < $1.name } 참고 : StackOverflow_how to sort JSON Data in Array,

[RxSwift] Operators 연산자

Observable 생성 옵저버블 생성에 사용하는 가장 단순하고 기초적인 세 가지 연산자 just, of, from import UIKit import RxSwift let disposeBag = DisposeBag() just 하나의 항목을 방출하는 Observable을 생성 just로 생성하는 Observable은 파라미터로 전달한 요소를 그대로 방출한다. (from 연산자와 구분하기!) Observable.just([1,2,3]) .subscribe { element in print(element) } //next([1,2,3]) .disposed(by: disposeBag) //completed of 두 개 이상의 요소를 방출하는 Observable을 만들어야 한다면 of 연산자를 사용. of 의..

[RxSwift] Subject

Subject subject acts both as an observer and as an Observable. Subject는 observable인 동시에 observer. 옵저버이기 때문에 하나 이상의 Observable을 구독 할 수도 있고, 동시에 Obserbable이기도 하기 때문에 항목들을 하나 하나 거치면서 재방출하고 관찰하며 새로운 항목들을 방출할 수도 있다. Publish Subject subject로 전달되는 이벤트를 옵저버에게 전달하는 가장 기본적인 형태의 subject 구독 이후에 Obserbable(들)이 방출한 새로운 이벤트들만 옵저버(구독자)에게 전달한다. Subject가 생성되는 시점과 옵저버가 이 subject를 구독하기 시작하는 사이에 방출되는 항목들을 잃어버릴 수 있다는..

[RxSwift] Observables & Observers

Observables & Observers (Observable = Observable Sequence = Sequence) Observer는 Observable을 감시(구독)하고 있다가, 전달되는 이벤트를 처리. Subscribe 메서드를 통해 Observer와 Observable을 연결. Observable은 세 가지 이벤트를 전달. 옵저버는 다음 세가지 메서드를 구현. onNext Observable에서 발생한 새로운 이벤트는 Next 이벤트를 통해 구독자로 전달됨. Observable은 새로운 항목들을 방출(emission)할 때마다 이 메서드를 호출. Observable이 배출하는 항목을 파라미터로 전달받음. onError Observable에서 에러 발생 시 onError 메서드를 통해 Err..

[RxSwift] ReactiveX

http://reactivex.io/ ReactiveX CROSS-PLATFORM Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others reactivex.io ReactiveX란? An API for asynchronous programming with observable streams ReactiveX is a library for composing asynchronous and event-based programs by using observable sequences. ReactiveX는 obsevable sequences를 사용하여 비동기 및 이벤트 기반 프로그램을 구성하기..

SwiftUI

기존의 UIKit 스토리보드방식 프로젝트가 커질수록 복잡해져 관리하기가 어렵고 협업 및 유지보수하기에도 매우 까다로움. SwiftUI 코드를 작성하는 동시에 디자인 인터페이스가 생성되고 프리뷰화면에서 바로 볼 수 있기 때문에 좋음. but iOS 13 이후의 운영체제에서 실행이 되기 때문에 최신 버전이 아닌 운영체제에서는 작동하지 않는다는 단점이 있다. 따라서 이전 버전까지 지원해야하는 앱이라면 SwiftUI는 적합하지 않음.

[Swift] Stored and Computed Variables 저장/연산 프로퍼티

Variables are declared using the var keyword. These declarations are valid at the top level, within types, and within code bodies, and are respectively known as global variables, member variables, and local variables. Member variables are commonly referred to as properties. Every variable declaration can be classified as either stored or computed. Stored Property 저장 프로퍼티 : saves a value for use ..

[Swift ] Ternary Operator

Ternary operator란? ternary operator를 직역하면 '삼항 연산자'로 말 그대로 세 개의 값을 가지고 연산? 처리를 해준다. 첫 번째 값에 지정된 조건으로 참/거짓 여부를 판별한 뒤, 참이면 두 번째 값을 반환하고, 거짓이면 세 번째 값을 반환한다. [ 조건 ? 참 : 거짓 ] let number = 3 print(number > 5 ? "yes" : "no") 이거를 풀어서 코드를 작성하면 let number = 3 if number > 5 { print("yes") } else { print("no") } 이것과 동일한 기능을 하는데, 이처럼 간단한 조건문이라면 ternary를 사용하여 4줄 짜리를 1줄로 간결하게 작성할 수 있다.

[Swift iOS] 상단 NavigationBar 설정

large title large title scroll시 기본 title로 만드는 법 self.navigationController?.navigationBar.prefersLargeTitles = true 참고 : wonhee - large title 투명 네비게이션바 만들기 //navigationBar color 뷰 컬러와 동일하게 맞추기 self.navigationController?.navigationBar.setBackgroundImage(UIImage(), for: .default) //navigationBar bottom bolder line 제거하기 self.navigationController?.navigationBar.shadowImage = UIImage() navigation 버튼 설..

728x90
반응형