if-let을 사용할 때 유의해야할 점. 안녕하세요. 오늘은 제가 if-let을 사용할 때 유의해야 할 점에 대해서 알아보도록 하겠습니다. 이 글을 작성하게 된 이유가 제가 if-let을 완벽히 알지 못해 발생한 실수로 에러를 잡는데 많은 시간을 소비했기 때문입니다. 그럼 본격적으로 시작해보도록 하겠습니다. if-let if-let은 옵셔널 타입의 값을 안전하게 추출하기 위해 사용합니다. 기본적인 사용법은 다음과 같습니다. if-let을 사용할 때는 다른 변수명을 사용해도 되지만 추출하려는 변수의 이름과 동일하게 사용해도 상관없습니다. 만일 if-let 구문안에서 값을 바꾸려고 하면 어떻게 될까요? 네 맞습니다. let으로 선언된 값을 바꾸려하기 때문에 당연히 에러가 발생합니다. 그럼 String과 같은..
스토리보드 없이 CRUD - Setting 안녕하세요. 오늘부터 간단한 CRUD 프로젝트를 만들어보도록 하겠습니다. 웬만한 웹 어플리케이션과 모바일 어플리케이션에는 기본적으로 CRUD가 들어가게 됩니다. CRUD의 약자는 다음과 같습니다. C : Create R : Read U : Update D : Delete 즉 데이터를 만들고, 읽고, 수정하며, 삭제하는 행위를 CRUD라고 부릅니다. 오늘은 iOS에서 간단히 CRUD를 구현해보도록 하겠습니다. 하지만 기존의 방식과는 다르게 스토리보드를 사용하지 않고 기능들을 구현해보도록 하겠습니다. 스토리보드를 사용하지 않는 이유는 다음의 링크에서 확인해보시기 바랍니다. Storyboard vs Programatically 그럼 본격적으로 시작해보도록 하겠습니다...
Custom Cell을 재사용할 때 생기는 문제점 안녕하세요. iOS 프로젝트를 진행하다보면 TableView 를 상당히 많이 사용하게 되는데요. 오늘은 이러한 TableView를 사용할 때, 그 중에서도 Custom Cell을 재사용할 때 생기는 사소한(?)문제점과 이에 대한 해결 방법을 알아보도록 하겠습니다. 먼저 어떤 문제점이 있을지 살펴보도록 하겠습니다. 문제점 주식의 정보를 보여주는 어플리케이션이 있을 때 사용자가 즐겨찾기를 해놓은 주식 정보를 다음과 같이 Custom Cell을 사용해 표현을 할 수 있습니다. 간단하게 종목의 이름과 가격 그리고 보유하고 있다면 얼마나 보유하고 있는지도 보여주는 Cell입니다. 만일 즐겨찾기를 해놓았지만 보유하지 않은 종목에 대해서는 옆에 "주" 글자가 보이지 ..
UserDefaults 안녕하세요. 제가 이전에 작성한 글을 보면 공부해야 할 것이라고 CoreData 를 언급했습니다. 어플리케이션의 사용자가 어플리케이션을 사용하면서 저장해놨던 설정이나 값들을 서버가 아닌 디바이스에 저장하기 위해 저는 CoreData를 공부하려 했습니다. 하지만 현업 개발자분과 여러 블로그들의 글을 보면 CoreData는 데이터베이스의 테이블의 수가 적거나 테이블 간의 관계가 복잡하지 않다면 사용하지 않는 것이 좋다고 언급하셨습니다. 그리고 그러한 상황에서도 CoreData 보다는 SQLite를 더 많이 사용하는 것 같았습니다. 저는 지금 복잡한 관계의 데이터들을 디바이스에 저장하기 위한 것이 아닌 사용자가 설정한 어플리케이션 세팅 값과 기록한 값(ToDo List의 목록, 친구 연..
Xcode로 iOS 프로젝트를 생성하면 기본적으로 만들어지는 몇 가지 파일이 존재합니다.그 중 AppDelegate.swift 파일 안의 내용을 살펴보면 뭔가 좀 중요한 것처럼 보이는데요. 오늘은 AppDelegate.swift 가 어떤 역할을 하는지 알아보도록 하겠습니다. AppDelegate.swift안에는 AppDelegate 클래스가 존재하며 이 클래스는 여러분이 만드는 어플리케이션의 중추적인 역할을 합니다. AppDelegate.swift 의 기능에는 크게 두 가지가 있습니다. 여러분의 어플리케이션이 그려질 윈도우를 생성하고, 어플리케이션 내의 상태 변화에 반응할 수 있게끔 합니다. 이러한 상태 변화에는 어플리케이션의 실행, 백그라운도로 전환 종료 등이 있습니다. 이와 관련된 메소드는 다음과 같..
Lazy variables 이전의 글들을 보셨거나 스위프트 문법 공부를 해보신 분들이라면 스위프트에서 메모리는 굉장히 예민한 주제인 것을 알 수 있습니다. 저 역시 그렇게 느꼈고, 그런 예민함이 보다 메모리를 효율적으로 관리할 수 있는 방향으로 이어졌습니다. 오늘은 이러한 메모리와 관련된 문법 중 하나인 lazy에 대해 알아보도록 하겠습니다. 이전에 작성한 메모리 관리에 관한 글도 읽어보시기 바랍니다. [Swift] Retain cycle, weak, unowned 애플의 공식 문서에서는 이렇게 설명하고 있습니다. "A lazy stored property is a property whose initial value is not calculated until the first time it is used..
Switching View and Passing Data(2) - Code 안녕하세요. 오늘은 unwind를 이용한 데이터 전달에 이어 Delegate를 활용한 데이터 전달에 대해 보도록 하겠습니다. 이 글을 읽어보시기 전 반드시. Delegate과 UITableView에 관한 지식이 있으셔야 합니다. 제가 포스팅한 글도 있으니 참고하시기 바랍니다. Delegation Pattern Basic TableView 그리고 본 포스팅은 이전 포스팅을 바탕으로 작성하였습니다. Switching View and Passing Data(1)-UI Switching View and Passing Data(1)-Code 그럼 본격적으로 시작해보도록 하겠습니다. UI 구성은 위의 UI 세팅 내용을 그대로 사용하였기 때문..
NotificationCenter Intro 이전에 저는 키보드에 의해 TextField가 가려지는 문제점에 대한 해결법을 포스팅한 적이 있습니다. 해당 포스팅에서 NotificationCenter에 대해 간단히 언급을 했었습니다. [ios] 키보드가 TextField를 가리는 문제점 오늘은 바로 이 NotificationCenter에 대해 알아보는 시간을 갖도록 하겠습니다. 1. What is NotificationCenter NotificationCenter의 동작 방식을 간단히 설명하자면 다음과 같습니다. “특정 객체가 NotificationCenter에 등록된 Event를 발생시키면 해당 Event를 처리할 것이라고 등록된 Observer들이 Event에 대한 행동을 취하는 것이Notificati..
- Total
- Today
- Yesterday
- 클로저
- storyboard
- 프로토콜
- iPhone
- 알고리즘
- 운영체제
- Swift
- 테이블뷰
- TableView
- 부스트코스
- oauth2.0
- IOS
- 오토레이아웃
- notificationcenter
- nodejs
- CRUD
- edwith
- UIControl
- UIResponder
- Algorithm
- Codable
- segue
- 백준
- Operating System
- Protocol
- auto layout
- 아이폰
- 스위프트
- boostcourse
- Xcode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |