iOS (스파르타)/Swift 문법 (23) 썸네일형 리스트형 Generic (제네릭) 알아보기 Generic은 범용 타입 1. 제네릭 Generic제네릭이란 타입에 의존하지 않는 범용 코드를 작성할 때 사용한다.제네릭을 사용하면 중복을 피하고, 코드를 유연하게 작성할 수 있다. 애플문서에 따르면 Swift에서 가장 강력한 기능 중 하나로Swift 표준 라이브러리의 대다수는 제네릭으로 선언되어 있다고 한다.우리가 여태 흔하게 사용하던 Array와 Dictionary 또한 제네릭 타입이다. 1-1. 제네릭 함수(Generic Function)우리가 만약 인자로 오는 두 Int 타입의 값을 swap하는 함수를 만들고 싶고이것을 구현 해보자면func swapTwoInts(_ a: inout Int, _ b: inout Int) { let tempA = a a = b b = tempA}이렇게.. 소수점 원하는 만큼 출력 https://www.youtube.com/watch?v=AsAPTmxOWio&list=PLJqaIeuL7nuEEROQDRcy4XxC9gU6SYYXb&index=15 요거를 보다가 swift print format으로 구글링해보래서 해봤다 ceil() - 올림소수점 아래 숫자를 다 없애고, 정수에 +1 해주는 것 floor() - 내림소수점 아래 숫자를 다 버리는 것 을 찾았는데강의에서 요구한 건 소수점 원하는 만큼 출력이라 다시 찾기 string format을 통해 %뒤에 원하는 소수점 자릿수를 입력해주면 된다!String(format:_, _)이걸 왜 지금하고있냐고? 기초가 넘 부족한거같아서,,강의 듣고있다고요,,ㅠㅜ Swift 문법 학습 자료 공부중2 배열 자료형의 몇가지 특징배열에 저장할 아이템의 타입에는 제약이 없지만, 하나의 배열에 저장하는 아이템 타입은 모두 같아야함선언 시 배열에 저장할 아이템 타입을 명확히 정의해야 함배열의 크기는 동적으로 확장할 수 있음배열에 동적으로 아이템을 추가할 때에는 메소드를 사용하는데, 기능에 따라 다양한 메소드가 있지만 대표적인 것으로 아래 세가지 정도를 사용한다.append(_:)insert(_:at:)append(contentsOf:)append(_:) 메소드는 입력된 값을 배열의 맨 뒤에 추가합니다. 일반적으로 배열에서 존재하지 않는 인덱스에 접근하면 오류가 발생하므로 이 메소드는 아이템 추가 전에 먼저 배열의 크기를 +1만큼 확장하여 인덱스 공간을 확보한 후, 인자값을 마지막 인덱스 위치에 추가합니다.반면.. 문법 심화 - RxSwift 맛보기 RxSwift는 Swift 언어로 작성된 함수형 반응형 프로그래밍을 위한 라이브러리로, 옵저버블 시퀀스와 이벤트 기반 프로그래밍을 간편하게 처리할 수 있도록 지원합니다 library이브러리(Library)는 프로그래밍에서 재사용 가능한 코드 모음을 말합니다. 일반적으로 특정 기능을 수행하는 코드의 모음이며, 다른 프로그램이나 프로젝트에서 사용할 수 있도록 설계되어 있습니다. 라이브러리를 사용하면 반복적이고 표준화된 작업을 수행하는 코드를 재사용하여 개발 시간을 단축하고 효율적인 개발을 할 수 있습니다.라이브러리는 다양한 형태와 목적으로 제공됩니다:표준 라이브러리(Standard Library): 대부분의 프로그래밍 언어는 기본적으로 제공하는 표준 라이브러리가 있습니다. 이는 언어 자체에서 제공하는 기본 .. 문법 심화 - Combine 맛보기 반응형 프로그래밍이란? 반응형 프로그래밍(Reactive Programming)은 데이터 스트림 또는 데이터의 변화에 따라 코드가 자동으로 반응하는 프로그래밍 패러다임입니다. 이 패러다임에서는 데이터의 변경 사항을 감지하고 이에 따라 연속적으로 반응하는 방식으로 프로그램을 작성합니다. 반응형 프로그래밍은 다음과 같은 핵심 개념을 포함하고 있습니다. 1. 데이터 스트림(Data Stream)이벤트 스트림, 값의 흐름 등과 같이 시간에 따라 연속적으로 발생하는 데이터의 흐름을 나타냅니다.이러한 데이터 스트림은 사용자 입력, 센서 데이터, 외부 API의 응답 등 다양한 소스에서 나올 수 있습니다.2. 옵저버(Observer) 패턴데이터의 변화를 감시하고, 변화에 따라 특정 작업을 수행하는 디자인 패턴입니다.변.. 문법 심화 - 비동기와 네트워킹 11. 비동기와 네트워킹 1) 스레드란?스레드(Thread)는 컴퓨터 프로세스 내에서 실행되는 실행 흐름의 단위입니다. 프로세스는 운영체제로부터 자원을 할당받아 실행 중인 프로그램의 인스턴스를 나타내는데, 각각의 프로세스는 하나 이상의 스레드를 가질 수 있습니다.Swift에서의 스레드 종류메인 스레드(Main Thread) - 애플리케이션의 주요 인터페이스 및 UI 업데이트를 담당하는 스레드입니다. UI 요소의 변경은 메인 스레드에서 수행되어야 합니다.백그라운드 스레드(Background Threads) - 메인 스레드 이외에 동시에 작업을 수행하기 위해 생성되는 스레드들을 일컫습니다. 주로 작업을 분산하거나 병렬로 처리할 때 사용됩니다.2) 비동기 동기(Sunchronous) vs. 비동기(Asynch.. 문법 심화 - 확장, 제네릭 09. 확장 1) 확장(Extension)확장을 이용하여 structure, class, enum, protocol 타입에 새로운 기능을 추가할 수 있습니다.기존 타입에 기능을 추가하는 수평 확장하는 개념입니다.확장은 타입에 새로운 기능을 추가할 수는 있지만, 기존에 존재하는 기능을 재정의할 수는 없습니다.외부에서 가져온 타입에 내가 원하는 기능을 추가하고자 할 때 확장을 사용할 수 있습니다.예시 코드extension 확장할 타입 이름 { //타입에 추가될 새로운 기능 구현}extension 확장할 타입 이름: 프로토콜1, 프로토콜2, 프로토콜3 { //프로토콜 요구사항 구현} 2) 확장(Extension)이 가능한 경우와 불가능한 경우 Extension으로 구현 가능한 것들: 새로운 계산된 속성(Co.. 문법 심화 - ARC와 메모리 누수 07. ARC와 메모리 누수 1) ARC(Automatic Reference Counting)Swift의 ARC(Automatic Reference Counting)는 메모리 관리 기법 중 하나로, 객체나 인스턴스가 참조되는 횟수를 추적하여 메모리에서 해제할 시점을 결정합니다. 객체가 생성될 때마다 참조 횟수가 1 증가하고, 해당 객체를 참조하는 다른 객체나 변수가 없어지거나 더 이상 사용되지 않을 때 참조 횟수가 1 감소합니다. 참조 횟수가 0이 되면 해당 객체는 메모리에서 해제됩니다.ARC의 작동 방식객체 생성: 객체가 생성되면 참조 횟수가 1 증가합니다.객체 참조: 객체를 다른 변수나 상수에 할당하면 해당 객체의 참조 횟수가 1 증가합니다.참조 해제: 객체의 참조가 없어지면(참조하는 변수나 상수가 .. 이전 1 2 3 다음