본문 바로가기

🍎 Swift/iOS 학습 노트58

[Swift🍎] 타입 메서드와 타입 프로퍼티(Type Method, Type Property) 그리고 객체지향프로그래밍 또 복습하다가 나온 그동안 헷갈렸던 타입 메서드&프로퍼티 개념을 정리해봤다그냥 이렇게 쓰는구나 ❌ → 왜? 이렇게 쓰는지에 중점적으로 정리했음   01.  타입 메서드와 타입 프로퍼티(Type Method, Type Property)타입 메서드와 타입 프로퍼티는 클래스, 구조체, 열거형의 타입 자체에 속한다즉 인스턴스를 생성하지 않아도 직접 타입에서 호출할 수 있으며 static 키워드를 사용한다*프로퍼티: class, struct, enum에서 사용되는 상수나 변수   02.  인스턴스 프로퍼티와 타입 프로퍼티일반적인 경우인 인스턴스 프로퍼티는 객체(인스턴스)를 만들어서 사용한다아래 코드에서 name과 age는 인스턴스 프로퍼티라서 p1와 같은 객체를 만들어야 접근이 가능하다struct Person {.. 2025. 2. 20.
[Swift🍎] Struct&Enum에서 mutating의 역할 오랜만에 강의를 돌려보던 중 mutating이라는 생소한 것을 봤다그래서 좀 찾아봄  mutating이란?값  타입인 구조체(struct)와 열거형(enum)에서 인스턴스의 프로퍼티를 메서드 내부에서 변경할 수 있음  예를 들면 Int타입의 변수 count의 값에 1씩 추가하는 함수 increment를 만든다고 가정하자 이 코드에서 Struct(구조체)인 Counter는 값 타입(Value Type)이므로, 인스턴스가 복사 되어 전달된다즉, 구조체 내부의 인스턴스는 불변 메서드로 간주된다(immutable)  mutating 키워드를 사용하게 되면 self를 변경할 수 있는 메서드가 되어 count 프로퍼티를 수정할 수 있다→ count에 +1이 잘 되어 출력된다   반면 class는 참조타입이므로 se.. 2025. 2. 19.
[Swift🍎] rawValue: 원시값 enum 개념에 대해 복습 중에 궁금해서 찾아본 내용  enum의 각 case에 특정한 값(원시값, rawvalue)를 아래와 같이 할당하여 사용한다enum Season: String { case spring = "봄" case summer // 원시값을 생략하면 case 이름과 같은 문자열이 자동으로 할당됨 case autumn case winter}spring의 경우 "봄"이라는 값을 가지고 있다나머지 summer, autumn, winter의 경우 별도의 값을 지정해 주지 않았으므로, case이름과 동일한 string 값을 갖게 된다 let season = Season.springprint(season.rawValue) // 출력: 봄Season.spring의 원시값은 "봄" .. 2025. 2. 13.
[Swift🍎] URLSession 뜯어보기 1.  URLSession 이란?앱과 인터넷이 상호작용 할 수 있게 도와준다웹 페이지 데이터 가져오기 (HTTP GET 요청)서버에 데이터 보내기 (HTTP POST 요청)파일 다운로드 및 업로드백그라운드 네트워킹 작업  2.  기본 구성 요소URL: 네트워크 요청을 보낼 대상의 주소URLRequest: 네트워크 요청을 구성하는 객체. URL, HTTP 메서드(GET, POST...), 헤더, 본문(body) 등 설정URLSession: 요청을 보내고 응답을 처리하는 객체. 네트워크 작업의 중심URLSessionDataTask: URLSession에서 데이터를 가져오거나 보내는 작업의 단위  3.  사용 방법3-1.  간단한 GET 요청import Foundation// 1. URL 생성let url =.. 2025. 1. 17.
[Swift🍎] tableView, collectionView 식별자 간단하게 관리하기! 프로젝트 할 때마다 collectionView, tableView 식별자 만들고, 다시 갖다쓰는 과정이 번거로웠는데해결할 수 있는 간단한 방법을 알아냈다!!!!!! 👏🏻👏🏻   방법 1.  - 비추먼저 가장 기본적인 방법부터 설명하자면 식별자를 문자열로 설정하는 방법이 있다tableView.register(UITableViewCell.self, forCellReuseIdentifier: "MyTableViewCell")let cell = tableView.dequeueReusableCell(withIdentifier: "MyTableViewCell", for: indexPath)cell.textLabel?.text = "Hello Swift" tableView.register 등록 시 식별자를 문.. 2024. 10. 31.
[Swift🍎] RxSwift로 UITableView에 bind 하기 RxSwift와 MVVM을 활용해 TableView에 데이터 집어넣기기록용! 📝  먼저 MVVM 패턴에 대해서 간단하게 다시 짚어보기 [스터디5일차] MVVM 패턴MVVM이란?Model - View - ViewModel의 약자로 UI와 비즈니스 로직을 분리한다각각 특정한 역할을 담당하며 독립적으로 동작할 수 있게 만들어져 코드의 가독성이 높아지고 유지보수와 테스트를 쉽게 한solby.tistory.comModel : 데이터 구조 표현 및 처리ViewModel : View - Model 사이에서 데이터를 주고받는다(데이터를 가공)View : 사용자에게 보여주는 UI요소 처리(bind)  RxSwift로 TableView 생성하는 예시1.  Modelstruct Item { let title: St.. 2024. 10. 31.