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 의 기능에는 크게 두 가지가 있습니다. 여러분의 어플리케이션이 그려질 윈도우를 생성하고, 어플리케이션 내의 상태 변화에 반응할 수 있게끔 합니다. 이러한 상태 변화에는 어플리케이션의 실행, 백그라운도로 전환 종료 등이 있습니다. 이와 관련된 메소드는 다음과 같..
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..
Auto Layout Programmatically 지난 포스팅에서는 단순히 UIButton과 UILabel을 코드로 작성하고 위치시켜봤다면 이번 포스팅에서는 Constraints를 동적으로 관리하는 방법을 알아보도록 하겠습니다. 먼저 이번 포스팅에서 만들어 볼 예제의 결과 화면을 확인하고 시작하겠습니다. 하단의 Change Constraints 버튼을 누르면 UIView의 크기가 변하는 것을 확인하실 수 있습니다. 그럼 본격적으로 시작해보도록 하겠습니다. 반드시 이전 포스팅을 숙지하시고 들어가시기 바랍니다. Auto Layout Programmatically - 1 1. UIButton 먼저 버튼 하나를 화면 하단에 위치시키고 그 자리에 고정시켜 놓겠습니다. class ViewController: UI..
Storyboard Reference 안녕하세요. 협업을 하시거나, 하나의 스토리보드에 담기에 뷰가 너무 많아진다면 스토리보드 파일을 여러개로 나눌 필요가 있습니다. 오늘은 이렇게 스토리보드를 나누기 위해 사용되는 Storyboard Reference를 간단하게 사용해보는 시간을 갖도록 하겠습니다. 1. Setting 먼저 프로젝트를 하나 생성하고 생성된 Main.storyboard 파일의 ViewController에 두개의 버튼을 올려주세요. 각각의 버튼을 누르면 서로 다른 화면으로 넘어가게 할 텐데요. 하나는 Navigation Controller의 포함된 UIViewController로, 하나는 단순한 UIViewController로 넘어가도록 하겠습니다. 원래 하던 방식대로라면 Main.story..
TextField Hide Problem 안녕하세요. 오늘은 TextField가 키보드에 의해 가려지는 상황을 해결하는 방법에 대해 알아보도록 하겠습니다.상황은 다음과 같을 것입니다. 우리는 TextField를 일정 크기만큼 올려줌으로써 위와 같은 상황의 문제점을 해결할 수 있습니다. 그럼 바로 코드로 작성해보도록 하겠습니다. 1 NotificationCenter 먼저 TextField 하나를 ViewController 위에 올려주고 코드로 연결시켜줍니다. 그리고 우리는 키보드가 나타날 때는 TextField를 올려주고 입력이 끝난 후 키보드가 사라지면 원래의 위치로 돌아오게끔 해야합니다. 즉 키보드가 나타나고 사리지는 행위에 대해 처리를 해줄 필요가 있고 그러기 위해서는 그러한 이벤트가 발생했다는 것을..
- Total
- Today
- Yesterday
- auto layout
- Swift
- 알고리즘
- nodejs
- 오토레이아웃
- UIControl
- 클로저
- Xcode
- Codable
- notificationcenter
- IOS
- Protocol
- 부스트코스
- 스위프트
- Algorithm
- Operating System
- segue
- 운영체제
- 아이폰
- 백준
- TableView
- boostcourse
- edwith
- UIResponder
- storyboard
- CRUD
- 테이블뷰
- iPhone
- 프로토콜
- oauth2.0
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |