전체 글 12

[iOS] 일급 객체에 대해 알아보기

안녕하세요 스벅보안관입니다. 오늘은 Swift의 일급 객체(First-Class Citizen)에 대해 이야기해보려고 합니다.일급 객체라는 용어가 다소 생소할 수도 있지만, 사실 우리가 Swift에서 매일같이 다루는 것들입니다.막상 이해하면 그렇게 어렵지 않으면서 중요한?(뭔 소리야...) 개념인거같습니다.   일급 객체란?먼저, 일급 객체가 무엇인지 정의해볼까요? 일급 객체(First-Class Citizen)란 다른 객체들과 동등하게 취급되며, 다음과 같은 작업이 가능한 객체를 말합니다:변수에 할당 가능함수의 인자로 전달 가능함수의 반환 값으로 사용 가능이 세 가지 조건을 충족하면 해당 객체를 일급 객체라고 부릅니다. 간단히 말해서, 일급 객체는 프로그램 내에서 자유롭게 이동할 수 있는 객체입니다. ..

iOS 2024.06.20

[iOS] Type Casting 알아보기

안녕하세요 스벅보안관입니다.오늘은 Swift에서 자주 등장하는 타입 캐스팅(Type Casting) 에 대해 알아보려고 합니다. Swift를 사용하다 보면, 객체 간의 타입을 변환해야 하는 경우가 종종 있는데요, 이때 사용하는 것이 바로 타입 캐스팅입니다.타입 캐스팅(Type Casting)이란?타입 캐스팅은 인스턴스가 특정 클래스, 구조체, 열거형에 속하는지 확인하거나, 해당 타입으로 변환하는 것을 의미합니다. Swift는 타입 안전성을 보장하기 때문에 잘못된 타입 변환은 컴파일 시점 또는 런타임 시점에 오류로 처리됩니다. Swift에서의 타입 캐스팅은 주로 두 가지 방식으로 이루어집니다.is 연산자: 객체가 특정 타입에 속하는지 확인합니다.as 연산자: 객체를 특정 타입으로 변환합니다.이 두 연산자를..

iOS 2024.06.17

[iOS] 클로저(Closure) 알아보기

안녕하세요. 스벅 보안관입니다.이번 시간에는 클로저에 대해 알아보겠습니다. 사실 오래전에 Swift 문법 공부를 하다가 클로저에 대해 잠깐 공부를 했었는데, 너무 이해가 안되서 때려쳤습니다..ㅋㅋㅋㅋ. 그래도 어느정도 개발을 진행하다보니 클로저에 대해 이해를 많이 하게 된거같아 이렇게 클로저에 대한 블로그를 작성해보려고 합니다. 사실 개발하다보면 코드안에 나도 모르는 클로저를 사용하고 있던 경우가 많아서 어쩔 수 없이(?) 공부를 따로 하긴 해야합니다,, ㅎㅎ  클로저(Closure)란?클로저는 코드에서 독립적인 블록으로, 일급 객체로 취급됩니다.(일급 객체란 변수에 할당하거나, 함수의 인자로 전달하거나, 함수의 반환 값으로 사용할 수 있는 객체입니다. 따로 다룰 예정..) 클로저는 변수나 상수에 할당할..

iOS 2024.06.13

[iOS] 네트워크 통신 alamofire 라이브러리 알아보기

안녕하세요. 스벅 보안관입니다.이번 게시글에서는 iOS 개발에서 널리 사용되는 네트워크 라이브러리인 Alamofire에 대해 알아보겠습니다. Alamofire는 HTTP 네트워킹을 간편하게 할 수 있게 도와주는 라이브러리로, 저 역시 개발하면서 서버간 통신을 할 때 거의 필수로 사용하는거 같습니다. (사실 이거밖에 모름...ㅋㅋㅋ)Alamofire 설치 방법 1. CocoaPods 설치: 프로젝트 루트 디렉토리에서 Podfile을 열고 다음 내용을 추가합니다.pod 'Alamofire' 2. Pod 설치: 터미널에서 다음 명령어를 실행합니다.pod install 3. 프로젝트 열기: .xcworkspace 파일을 열어 프로젝트를 엽니다. Alamofire의 기능Alamofire를 사용하면 GET 요청과 ..

iOS 2024.06.10

[iOS] SnapKit으로 오토레이아웃 적용하기

안녕하세요 스벅보안관입니다.이번 시간에는 SnapKit으로 오토레이아웃 적용하는 법에 대해 알아보겠습니다.  왜 SnapKit을 써야 할까?SnapKit을 사용하면 다음과 같은 장점이 있습니다:가독성: 코드가 간결하고 읽기 쉽습니다.유연성: 다양한 레이아웃을 손쉽게 작성할 수 있습니다.유지보수: 스토리보드 없이 코드로만 작성하므로 버전 관리가 용이합니다. SnapKit 설치 방법SnapKit을 프로젝트에 추가하는 방법은 여러 가지가 있지만, 저는 CocoaPods를 사용하는 방법을 소개하겠습니다.  1. CocoaPods 설치: 프로젝트 루트 디렉토리에서 Podfile을 열고 다음 내용을 추가합니다.pod 'SnapKit' 2. Pod 설치: 터미널에서 다음 명령어를 실행합니다.pod install 3...

iOS 2024.06.04

[iOS] 지연 저장 프로퍼티(Lazy) vs 타입 프로퍼티 (Static)

안녕하세요 스벅보안관입니다. 이번 시간에는 Swift에서 자주 사용하는 지연 저장 프로퍼티(Lazy)와 타입 프로퍼티(Static)에 대해 알아보겠습니다.두 프로퍼티의 차이점과 사용 예시를 통해 어떻게 활용할 수 있는지 알아보겠습니다.  지연 저장 프로퍼티 (Lazy)Lazy 프로퍼티란?지연 저장 프로퍼티는 처음 사용될 때 초기화되는 프로퍼티입니다. 객체가 생성될 때 초기화되지 않고, 해당 프로퍼티가 실제로 호출될 때 초기화되기 때문에 불필요한 성능 낭비를 줄일 수 있습니다.사용 방법class LazyExample { lazy var lazyProperty: String = { return "꽁꽁얼어붙은 swift위로 lazy가 등장합니다." }() init() { ..

iOS 2024.06.01

[iOS] TableViewController - [2]

안녕하세요 스벅보안관입니다.지난 시간에는 TableViewController의 기본 개념과 설정에 대해 알아보았습니다. 이번 시간에는 TableViewController의 고급 기능(?)과 예제를 다루어 보겠습니다.   약간 있ability하게(있어보인다는 뜻...) 블로그를 작성하고싶은데, 작성하고싶은 개념이 너무 많아 뭔가 딱딱해지는 느낌,,,   TableViewController의 고급 기능 1. 섹션 추가 TableView는 여러 섹션을 가질 수 있습니다.각 섹션은 개별적으로 제목을 가질 수 있으며, 섹션 내의 행들을 그룹화할 수 있습니다.override func numberOfSections(in tableView: UITableView) -> Int { return sections.co..

iOS 2024.05.28

[iOS] TableViewController - [1]

안녕하세요 스벅보안관입니다.이번 시간에는 TableViewController에 대해 알아보려고 합니다.TableViewController는 iOS 앱개발을 하면서 아마 거의 필수로 사용하는 것 같습니다.개념과 중요한 요소들을 정리해보도록 하겠습니다! TableViewController란?TableViewController는 리스트 형태의 데이터를 화면에 표시하고, 사용자와 상호작용을 할 수 있게 해주는 ViewController의 한 종류입니다. iOS 개발에서 매우 자주 사용되며, 연락처 앱이나 설정 앱 등 다양한 애플리케이션에서 활용되고 있습니다. TableViewController의 구조TableViewController는 기본적으로 UITableView와 UITableViewDelegate, UI..

iOS 2024.05.24

[iOS] Guard 구문을 사용하는 이유

안녕하세요 스벅보안관입니다.이번시간에는 Swift에서 자주 사용하는 Guard문에 대한 내용을 작성하려합니다. Guard문이란?guard문은 특정 조건이 만족되지 않을 경우, 실행을 중단하고 다른 코드를 실행할 수 있도록 하는 제어 구문입니다.쉽게 말해, Swift에서 guard 문은 "문지기" 역할을 합니다. 어떤 조건이 맞는지 확인하고, 조건이 맞지 않으면 바로 "돌아가"라고 말하는 문입니다. 쉽게 말해서, "이 조건이 맞지 않으면 여기서 끝내고 나가자"라는 의미로 사용됩니다. 예시는 if문과 비교하여 다음과 같습니다. if문의 경우if let height = heightTextField.text{ let result = "키 \(height)" resultLabel.text = result}  ..

iOS 2024.05.22

[iOS] GestureRecognizer

안녕하세요. 스벅보안관입니다.요즘 6시반에 일어났더니 아침형인간이 되기는 커녕, 그냥 죽고싶습니다...  암튼,이번에는 iOS에서 제공하는 GestureRecognizer에 대해 설명하겠습니다. GestureRecognizerGestureRecognizer는 말 그대로 제스처에 관련된 이벤트들을 인식해주는 클래스다.간단하게 말하면 터치 이벤트와 같은 기능들을 간단하게 처리해준다. GestureRecognizer 종류1. UITapGestureRecognizer- 단일 탭 또는 다중 탭을 인식합니다- 사용 예: 버튼 클릭, 이미지 확대/축소 등. 2. UIPinchGestureRecognizer- 두 손가락을 사용한 핀치 제스처를 인식합니다.- 사용 예: 이미지 확대 및 축소 3. UIRotationGes..

iOS 2024.05.20