iOS (13) 썸네일형 리스트형 [Combine] append(_:) 의 3가지 사용방법 분류 Combine Framework Publishers Protocol Publisher Operator Applying Sequence Operations to Elements Append(_:) [ 첫번째 ]: 가변인자로 여러개의 요소를 인자로 받아 append() 처리 후 발행 하는 경우 func append(_ elements: Self.Output...) -> Publishers.Concatenate 설명 [코드] func append(numbers:Int...){ cancellable = numbers.publisher .append(100, 200, 300) .sink { print("\($0)") } } //실행 append(numbers: 1,2,3,4,5) // 결과: "1 2 3 4.. [Combine] map(_:), tryMap(_:) 1. map(_:) 1) 분류 Combine Framework Publishers Protocol Publisher Operator Mapping Elements 2) 타입 func map(_ transform: @escaping (Self.Output) -> T) -> Publishers.Map Upstream Publisher(상위 스트림에서 발행된 것)를 (변환하고자 하는 타입)로 변환하고, 해당 작업은 비동기로 처리되므로 처리가 완료되면 콜백 함수를 실행(@escaping) 한다. Publishers.Map을 return 한다. 3) 설명 [상황] 놀이동산 티켓팅 프로그램을 개발한다고 가정해보자. 친구 다섯명이 자신들의 이름과 나이를 입력하고 자유이용권을 선택 후 티켓 발행을 눌렀다. 다섯명에 대.. [SwiftUI] 선언형UI (declarative UI Frameworks) 목차) 1. 선언형 vs 명령형 프로그래밍 2. 선언형UI 란? 3. SwiftUI 코드 예시 SwiftUI의 핵심은 선언형UI 라는 것이다. 1. 선언형 vs 명령형 프로그래밍 선언형UI 가 무엇인지 알아보기 위해 먼저 선언형이란 무엇인지 이해해야 한다. 선언형 프로그래밍의 반대 개념인 명령형 프로그래밍과의 차이를 통해 알아보자. 선언형 명령형 설명 원하는 목표를 선언 목표는 주로 함수, 규칙, 제약 등의 형태로 표현되며 시스템이 내부 동작을 추론하여 실행 프로그램의 상태와 결과를 변경 및 달성하기 위하여 연산들의 순서적인 흐름을 명시적으로 작성 형태 함수형, 논리 프로그래밍 절차지향, 객체지향 장점 1) 코드의 가독성과 유지보수성 향상 2) 추상화 수준이 높아져, 문제 자체에 집중 할 수 있음 3) .. [Swift] Function 의 In-Out parameter 1. Swift 의 function parameter는 기본적으로 상수(Constant)이다. func addNumber(a: Int, b:Int) -> Int { //parameter a 와 b 는 Constant 이다. return a + b } 인자로 들어온 a의 값을 변경하려고 하면 아래와 같은 에러메시지가 나타난다. func addNumber(a: Int, b:Int) -> Int { a = a + 10 // 에러발생: Cannot assign to value: 'a' is a 'let' constant return a + b } 2. 함수의 인자값을 변경하기 위한 키워드: inout 위의 함수에서 a 라는 인자로 들어온 값을 b로 변환해야 한다고 할 때, a 를 In-Out parameter .. [Swift] Array Method (초기화, 추가, 삭제) 1. 개요 배열(Array)은 index와 value 로 이루어져 있다. 2. Initializer 메모리에 초기값을 할당하는 명령어 swift는 type safe 하기 때문에 어떤 타입으로 array가 생성될지 알려줘야 한다. 아래는 모두 type safe 하게 array를 초기화 하는 표현 방식이다. var names = Array() var ages = [Int]() 3. 추가 1) append 요소 추가 var names = Array() names.append("kim") names.append("lee") names.append("han") //결과: ["kim", "lee", "han"] 2) append(contentsOf: ) 배열 병합 var names = Array() names.. 이전 1 2 다음