Rx ver. 이라고 제목에 써 놓으니 누가 보면 다른 버전도 있는 줄 알겠네 키키 이번 글은 사실 별 건 아니고, RxSwift로 reactive 하게 짜는 연습 중에 너무 당연하게 쓰던 코드가 안 먹어서 당황했지만 분명 나 같은 몽츙이가 혼자는 아닐 것 같아서 쓴다. 전체 코드를 보고 싶다면 일루와유. 결론부터 말하자면, 코드를 Reactive하게 잘 짜 놓았다면 알.아.서 잘 업데이트를 해주고 있다는 것. (힌트를 얻었다면 가서 고치시고, 아니라면 쭉 같이 보시죱!) non-RX Way 기존에 tableview swipe to delete cell 을 하는 방식은 아래와 같다. (참고) override func tableView(_ tableView: UITableView, commit editin..
Swift & Struct와 관련된 면접 질문 Struct와 Class의 차이에 대해 설명하고 언제 각각을 쓰면 좋을지 설명해보세요 Struct가 무엇이고 어떻게 사용하는지 설명하시오 struct와 class의 비교는 많은 interview referene에서 찾아볼 수 있기 때문에 더 잘 알아야 한다는 강박이 생기는 것 같습니다. 오늘은 꼬리에 꼬리를 물 수 있는 Struct와 Class에 대해 다뤄보겠습니다. Struct & Class Struct Class 정의 타입이 다른 데이터를 하나로 묶는 자료구조 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀 타입 값 타입 (value type) 참조 타입 (reference type) 메모리 공간 stack heap 공통점 내부에 prope..
혼자 만지작 거리고 있는 토이 프로젝트에서 해결 못하고 있던 문제가 있었지만 적극적으로 해결책을 찾지는 않았습니다. 그런데 오늘 Rx 공부하다가 그 해결책을 찾아서 공유해보려고 합니다. 일단 문제 상황부터 보고 가실까여. 아니지, 일단 커피 부터. 문제상황 사용자의 사진첩에 접근하려면 최초 접근 시도에서 저렇게 승인을 받아야 하죠. 그런데 왼쪽에서 승인을 해줘도 오른쪽 화면 처럼 바로 사진들이 뜨지 않습니다. 다시 사진첩을 눌러야 뜨더라구요. 이 문제를 (해결 방법 찾으니까 나오긴 하던데 왜 안찾아봤었지 키키) Rx로 해결해보려고 합니다. 원인 현재는 photos 변수에 사진들을 load 하지만 '승인' 과정을 거치고 reload 할 수 있는 방법이 없습니다. 그러면 reload가 가능하게 하면 되겠네요..
API 통신이 비동기적으로 이루어진다고 미워할 필요는 없지만 그렇다고 좋은건 아니다. 사실 이전까지는 callback으로 하던, Combine API를 쓰던 해결을 해왔기 때문에 네트워킹 때문에 힘들었던 기억은 없다. 그런데 일을 하며 여러 장의(한 5~60장 되던데) 사진을 동반한 세션 작업을 하다가 눙물나는 경험을 하고 있다. 이 문제는 아직 해결 된 문제가 아니고, 여전히 진행 중... 문제 상황 문제 상황이 생기는 과정에 대해 조금 더 설명을 해보자면, 1. 여러 섹션이 각각 이미지를 불러오는 코드를 호출 2. (문제는 여기서 발생했을 것) 이미지가 도착하면 자신이 들어가야할 인스턴스에 이미지를 set 해줌 (아래 그림에서 하나의 보라색 박스 내에 각 상품들이 개별적 인스턴스 -- ex. Bran..
이번 글에서는 UICollectionView를 활용하여 무한히 도는 carousel view를 만든 개발 경험을 공유해 볼 예정이에요! 시간이 없으시다면 아래 내용을 GitHub에 올려 놓았으니 빠르게 확인해보시면 될 것 같네요. 혹시 질문이 있으시다면 아는 만큼 답해드릴테니 댓 달아주세요~ Infinite Carousel이란? 요즘 소비자와 맞닿아 있는 서비스를 제공하는 앱들은 carousel로 구현된 상단 광고를 많이 붙여 놓는 것 같아요. 예를 들어 아래 이마트 몰도 여러 장의 사진들이 계속 돌아가고, 앞과 뒤로도 움직이는 그런 뷰를 상단에 보여주고 있어요. Carousel은 회전목마를 뜻하니, 왜 이런 view를 carousel view라고 하는지 알 것 같죠? 회사에서 이런 view를 만들어보는..
제목에서 오늘 글의 전부가 표현되어 있는 것 같습니다. Storyboard로 뷰를 구성하다가 CustomView와 TableView를 함께 쓰고 싶을 때가 있습니다. 그럴 땐 View와 TableView를 Object Library에서 끌어다 쓰면 되겠지만 TableView의 content가 Dynamic Prototype이 아닌 Static Cells라면 위 방법을 쓸 수 없습니다. UITableView에서 Static Cell을 사용하려고 하면 UITableViewController에 embed될 때만 사용 가능하다며 다음과 같은 에러가 뜨죠. Static table views are only valid when embedded in UITableViewController instances 뭐.....
AppDelegate / SceneDelegate과 관련된 면접 질문 SceneDelegate에 대해 설명하시오. 출처 상태 변화에 따라 다른 동작을 처리하기 위한 AppDelegate methods를 설명하시오. 출처 상태 변화에 따라 다른 동작은 iOS13 이후부터 SceneDelegate의 역할이 되었음 iOS 12 이하 버전의 AppDelegate Application은 1개의 process 와 1개의 user interface 인스턴스 를 가졌다. AppDelegate은 2가지 역할을 했는데, application에게 process level의 이벤트 발생을 알려주었고 UI의 상태변화를 알려주었다. process level의 이벤트의 예시로는 application이 launch 되고 있는지 또는..
* 해당 글에는 개인 견해가 들어가있으므로 이곳을 참고하시면 조금 더 깔끔한 설명을 보실수도(?) 있습니다. 이 글은 SceneDelegate과 AppDelegate의 역할에 대해 다루겠습니다. 공식문서와 DW 블로그 및 프로젝트 경험을 바탕으로 정리하는 글이라 오류가 있을 수 있습니다. 오류 발견 시 댓글로 꼭 말씀해주세요! 시작해볼까요? 제가 약 5개월 전에 처음 iOS개발을 시작했을 땐 XCode 버전도 11 이상이었고 당시 보편적이었던 iOS 버전도 13이상이었습니다. 즉 제가 처음 배울 때도 Create New Project를 하면 AppDelegate.swift와 SceneDelegate이 있었습니다. 그래서 AppDelegate이 App Life-Cycle도 관리하던 호랭이 담배피던 시절(이..
이 글은 defer 구문에 대해 다루겠습니다. Swift Programming Language, 야곰님의 스위프트 프로그래밍 3판, 숩님 블로그와 프로젝트 경험을 바탕으로 정리하는 글이라 오류가 있을 수 있습니다. 오류 발견 시 댓글로 꼭 말씀해주세요! 시작해볼까요? defer 구문 defer 구문이 하는 역할에 대한 궁금증은 단어 자체의 뜻을 알면 많은 부분 해소된다고 생각합니다. 미루다, 연기하다라죠? 맞습니다. defer 구문은 실행을 잠시 미뤄두었다가 실행되니까요. 공식 문서로 명확히 해보겠습니다. A defer statement is used for executing code just before transferring program control outside of the scope that ..
Optional과 관련된 면접 질문 Optional이 무엇인지 설명하시오. Optional은 Swift에서 어떻게 구현되어 있는지 설명하시오. Optional의 값 추출 방식에 대해 설명하시오. guard 구문을 활용한 optional binding에 대해 설명하시오. Optional Chaining이 무엇인지 설명하시오. Optional Optional의 기본 public enum Optional: ExpressibleByNilLiteral { case none // abscence of value case some(Wrapped) // presence of a value, stored as `Wrapped` } Optional은 변수나 상수 등에 값이 있음이 보장되지 않을 때 사용하는 기능으로 Swi..
- Total
- Today
- Yesterday
- 데이터분석
- 인턴
- 부스트캠프2020
- 삼성소프트웨어아카데미
- SWIFT
- OS
- 보안
- 부캠
- RxSwift
- firebase
- C++
- ios
- 졸업작품
- swacademy
- nosql
- 코딩테스트
- 커넥트재단
- 컴공졸작
- 개발자인턴
- 코테
- TableView
- 삼성
- 컴과졸작
- 컴퓨터공학
- 알고리즘
- 부스트캠프
- 프로그래머스
- 소프트웨어역량시험
- 운영체제
- 소프트웨어아카데미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |