iOS (74) 썸네일형 리스트형 탕수육 찍먹해? 그럼 MVVM도 찍먹해. 드디어 왔다. 엠븨븨엠. 약간 나랑 전생에 콩쥐와 팥쥐였니? 혹시 내가 콩쥐였을까? 그래서 날 지금 이렇게 힘들게 하는것이야?! 이제는 더 이상 물러날 곳이 없다. 무조건 이해한다. 안되면 외워. 그리고 디자인패턴의 경우, 어떤 하나의 패턴이 다른 패턴보다 우위(?)에 있다고 볼 수 없다. 즉, 아키텍처, 디자인 패턴 등에 있어서 상위호한이 되는 개념은 없고 어떤 프로젝트인지에 따라서 다르게 적용된다. 🔴 결국 각 패턴이 궁극적으로 목표하는 것은 - 중복되는 코드를 줄이는 것 - 유지 보수가 원활한 코드를 작성하는 것 이므로 너무 틀에 박혀서 코드를 분리하거나 패턴에 의존할 필요는 없다. MVC 엠븨븨엠 설명하기 전에 엠븨싀 먼저하겟섬다. MVC 패턴은 Model - View - Controller 구조.. [앱 이름이 들어갈 자리] 기획을 해볼까? 아니 하지말자. 다 끝나버렸다. 난 시작도 안해봤는데. 아직 앱 이름이 없음요. ㅋㅋ;; 후보는 세개 있음. Re:CAR 나눔카 = 다시 쓰는 자동차 = Recycle의 의미를 담은 이름 낰 나눔카의 초성인 ㄴㄴㅋ에서 ㄴㄴ아래에 ㅋ을 배치하여 발음한 이름 니카내카 너의 자동차가 곧 나의 자동차가 된다는 Sharing의 의미를 담은 이름 ... 당신의 앱 이름에 투표해주세요. 유료 수신 100원. SeSAC에서 출시 프로젝트를 시작하게 되었다. 정확하게 시작이라기보다는 .. 준비단계?라고 보면 된다. 월~화 동안 기획서를 작성해서 제출하고 이번주는 피드백을 받는 기간이다. 어떤 앱을 만들까 생각을 했는데, 이전에 만들어두고 끝난 앱을 할까도 고민했다. 내가 고려한 것은 크게 세가지였다. 기간 내에 구현할 .. 셀의 재사용 메커니즘 개킹받는 것임 UITableView / UICollectionView를 사용하는 가장 큰 이유는 Cell을 재사용함으로써 보다 효율적으로 UI 및 데이터 관리를 할 수 있기 때문이다. 그런데 이 셀을 사용하다보면 재사용하는 과정 속에서 UI가 업데이트 되는 것과 데이터가 업데이트 되는 것의 차이가 생겨 원하는 모습으로 업데이트가 되지 않는 것을 확인할 수 있다. Cell의 Life Cycle과 재사용 메커니즘을 잘 이해하고 있어야 하는 이유도 여기에 있다. .. 그래서 이 글에서 셀의 생애주기와 재사용 메커니즘에 대해서 정리할 것임 .. (아 이거 진심 .. 매번 해도 매번 모르겠음 .. >< .. ) Life Cycle UI를 그려보자. 먼저 간단하게 UITableViewCell을 하나 만들고 UITa.. Realm에 Repository Pattern을 곁들인 기깔난 제목을 쓰고 싶은데 생각이 안남. ㅈㅅ. 나도 그만 곁들이고 싶음. 여러 ViewController에서 Realm의 테이블에 접근하여 CRUD를 할 수 있다. (아마 대부분의 앱이 그렇게 동작이 될텐데) 이 때마다 새롭게 변수를 선언해서, CRUD 코드를 작성하는 것은 효율적이지 못하다. 그러므로 Repository Pattern을 적용해서 코드를 개선할 수 있다. Repository Pattern 패턴을 적용하기 전에, 무슨 패턴인지/어떤 패턴인지 먼저 알아보도록 하자. 이 패턴은 주로 MVP, MVVM 구조에서 많이 사용한다. 프로그램의 핵심인 비즈니스 로직이 얼마나 잘 짜여졌는지에 따라서 결과가 다르게 나온다. 이 비즈니스 로직은 보통 외부 데이터베이스나 앱 내 데이터베이스에 접근하게 되는데.. Database인데 Realm을 곁들인 나만 이거 지금까지 리얼엠으로 읽은 것임? 어이가 없어. 나는. 내 세계가 부정당했어. Realm을 공부하기 전에 .. 먼저 .. Database를 살짝 공부해보자 Database 데이터베이스란? 데이터를 저장한 파일들의 집합체 Raw Data(수집된 데이터 그 자체)가 방대한 양으로 이루어져 있고, 파일로 저장되어 있던 출력물로 있던 효율적으로 저장된 집합체 도서관 시스템, 사원 관리, 고객 관리 등 DBMS란? DB를 쉽게 만들고 관리하는 여러 프로그램들이 모여 하나의 시스템으로 갖춰진 프로그램 (= 데이터 베이스를 관리하기 위한 소프트웨어를 지칭) 대부분들의 DB들이 DBMS를 통해 만들어지고 운영되기 때문에 의미를 혼용해서 사용하기도 한다. 계층형, 관계형, 객체 관계형, NoSQL 등 여러 종류.. App Sandbox 그리고 Files 이 글을 쓰고 있는 지금이 iOS 15 (이고 iOS 15.6.1 설치하라고 알림 옴 ㄷ ㄷ) 인데, iOS 11에 새로 나온 앱 중에 하나가 files이다. 갑자기 왜 files를 언급하냐면 .. 이 앱이 나오게 된 이유가 .. (뭐 여러 이유가 있을 수 있긴한데 .. 나도 애플의 마음을 모르니까 ..) 애플의 보안정책의 연장선에서 나오게 된 것이다 .. 제법 흥미진진 .. 하지 않다면 어쩔 수 없지만 .. 애플의 샌드박스 정책은 무엇이고 그래서 이 파일 앱이 무엇을 하는 것인지 알아보자 ~ .. Sandbox 샌드박스란, 미국에서 어린 아이를 보호하기 위해서 모래통을 만들고 그 안에서만 놀도록 하는 것에서 유래된 보안 모델을 의미한다. iOS는 기본적으로 앱 마다 별도의 파일을 만들고 서로 공유되지 .. 백업/복구 (+ 백업 리스트 UI 및 Custom Progress View) 이 글은 가볍게 .. 어떤 흐름으로 구현이 되는가 .. 를 중점으로 작성한 것임 .. 자세한 설명은 .. 다음 글이나 .. 다다음글이나 .. 언젠가 쓸 것임 .. 🫠 UI를 만들어보자. 제일 귀찮은 .. 근데 제일 잘 짜야하는 .. UI 이런 내가 클라이언트 개발자가 되어도 되는걸까? ㅇㅉ. 우하하. 일단 메인 화면의 네비게이션 오른쪽 버튼으로 백업 버튼을 하나 추가하고 > 버튼을 누르면 백업/복구 화면으로 이동하도록 UI를 구성했다. 화면 전환은 push로 구현 (오른쪽 > 왼쪽으로 슬라이드 인) 사진 왤케 크심요 .. 아무튼 이렇게 UI를 만들고 ... 코드가 궁금하다면 [더보기] ㄱ ㄱ 더보기 정말 궁금하심? 왜? 참고로 코드베이스(SnapKit O / Then X)로 구성했음요 .. + Exten.. Access Control - Basic to Advanced 앞의 글에서 접근제어에 대한 .. 첫인사(say ㅎ2)를 나눴다면 이번 글에서는 보다 자세하게 접근제어에 대해 알아보자. 접근 제어자 소스파일 및 모듈의 코드 중 일부에 대한 접근을 제한하고자 할 때 사용한다. 접근 제어자를 통해서 코드의 상세 내용을 숨길 수 있고 코드의 불필요한 외부 노출을 명시적으로 제한함으로써 은닉화의 특성을 구현할 수 있다. 외부에서 보거나 접근하면 안되는 코드에 접근하게 된다면 의도하지 않은 오류가 발생할 수 있다. 접근 제어자는 모듈과 소스 코드 기준으로 접근 수준을 판단하게 된다. 모듈 import를 통해서 프로젝트 내에서 사용할 수 있는 형태의 코드 묶음 단위를 말한다. 프로젝트를 하나의 모듈로 볼 수 있으며 프레임워크 하나도 하나의 모듈이라고 생각할 수 있다. open.. 이전 1 ··· 3 4 5 6 7 8 9 10 다음