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 세팅 내용을 그대로 사용하였기 때문..
공부해야할 것. 1. Core Data SQLite & Realm [2017.12.5] - 단순히 사용 방법 말고 구조와 동작 원리를 이해하고 싶다. 너무 깊게는 아니더라도 적당선에서 이해하고 싶어도 기존 데이터베이스 용어들과 혼동되어 낯설다. "Core Data는 Database가 아니다" 라는 말을 이해하려 애쓰는 중인데 어렵다. - CoreData보단 SQLite와 Realm을 공부해보아야 될 것 같다. [2017.12.5] 2. View hierarchy - 생명 주기를 외워(?)도 명확하게 와닿지를 않는다. 함수들이 정확히 언제 호출되는 것을 넘어 밑에서 일어나는 일들이 궁금하다. - 내가 짠 코드의 뷰 계층 구조를 명확히 알고 싶다. (내가 짠 코드대로라면 어느 것이 위에 있고 아래에 있는지를..
NotificationCenter Intro 이전에 저는 키보드에 의해 TextField가 가려지는 문제점에 대한 해결법을 포스팅한 적이 있습니다. 해당 포스팅에서 NotificationCenter에 대해 간단히 언급을 했었습니다. [ios] 키보드가 TextField를 가리는 문제점 오늘은 바로 이 NotificationCenter에 대해 알아보는 시간을 갖도록 하겠습니다. 1. What is NotificationCenter NotificationCenter의 동작 방식을 간단히 설명하자면 다음과 같습니다. “특정 객체가 NotificationCenter에 등록된 Event를 발생시키면 해당 Event를 처리할 것이라고 등록된 Observer들이 Event에 대한 행동을 취하는 것이Notificati..
Auto Layout Programmatically 지난 포스팅에서는 단순히 UIButton과 UILabel을 코드로 작성하고 위치시켜봤다면 이번 포스팅에서는 Constraints를 동적으로 관리하는 방법을 알아보도록 하겠습니다. 먼저 이번 포스팅에서 만들어 볼 예제의 결과 화면을 확인하고 시작하겠습니다. 하단의 Change Constraints 버튼을 누르면 UIView의 크기가 변하는 것을 확인하실 수 있습니다. 그럼 본격적으로 시작해보도록 하겠습니다. 반드시 이전 포스팅을 숙지하시고 들어가시기 바랍니다. Auto Layout Programmatically - 1 1. UIButton 먼저 버튼 하나를 화면 하단에 위치시키고 그 자리에 고정시켜 놓겠습니다. class ViewController: UI..
- Total
- Today
- Yesterday
- UIControl
- 오토레이아웃
- auto layout
- 테이블뷰
- 백준
- 알고리즘
- iPhone
- Algorithm
- nodejs
- oauth2.0
- CRUD
- Swift
- segue
- 프로토콜
- notificationcenter
- 클로저
- boostcourse
- Codable
- edwith
- 운영체제
- UIResponder
- Protocol
- Operating System
- 스위프트
- Xcode
- IOS
- 아이폰
- 부스트코스
- TableView
- storyboard
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |