👨🏻‍💻iOS 공부

    [iOS] 내가 보려고 쓰는 NotificationCenter 사용법

    NotificationCenter를 직역하면 알림센터가 된다. 사실 말 그대로 "알림을 통해 액션을 통제"하는 역할을 한다. 많은 서적, 영상에서 NotificationCenter를 방송국으로 비유하기도 하는데, 그 이유는 차차 읽다보면 알 수 있다. NotificationCenter : 자자 액션이 수행되었으니, 각 담당자들은 업무 수행 바람~ VC1 : 넵 VC2: 네~ VC3: 네! NotificationCenter가 관제탑이 되는 것이고, 각 VC 1,2,3에게 각 업무를 수행해야하는 시점에 말해주는 것이다. (마치 방송국에서 전파를 쏘고, 각 가정집의 TV에서 이를 수신하여 화면을 보여주는 것과 같아서 그렇게 비유하는 듯 하다.) 만약 VC1이 화면에서 사라질 때, VC2의 버튼을 회전시키고 싶..

    [iOS] viewForHeaderInSection의 주기에 대하여...

    테이블뷰의 헤더에 다양한 커스텀 뷰를 추가해본 적이 있을 것이다. ScrollView + PageControl로 이미지 슬라이더를 구현했던 적이 있는데, 전체 뷰의 스크롤을 하단으로 내림에 따라 해당 헤더뷰가 화면에서 사리지게 되고, 다시 올라왔을 때 하나의 문제를 발견할 수 있었다... 예를 들어 이미지 슬라이더의 이미지를 3번째까지 슬라이드 해두고, 뷰를 끝까지 내린 후 다시 헤더로 왔을 때 아이템이 0번째로 이동해있는 문제였다... 이유를 찾아보니... viewForHeaderInSection은 단 한 번 호출되는 것이 아니라 여러 번 호출된다는 것 때문이었다! (여러 번의 조건 = "헤더뷰"가 등장할 때 마다) 즉 이를 고려해서 코드를 구현했어야 했는데, 매번 헤더가 등장할 때 마다 해당 메서드가..

    [iOS] UITableViewCell내 UIButton 액션이 작동하지 않을 때 (feat. tag/delegate/closure)

    아무렇지 않게 tableView의 CustomCell에 UIButton을 넣어주고 addTarget을 하여 액션을 넣어주고 있었다. . . 응??🧐 . . 당연히 cell에 넣어주고 action을 주면 작동을 하리라 생각했으나 되지 않았다..! 바로 검색 시작... 정말 다양한 답변들을 찾아볼 수 있었다. 하지만 모든 방법이 문제를 해결해주지는 못했고...😇 여러 가지 방법을 찾아본 결과... 결론을 먼저 이야기하자면 총 세 가지 방법으로 해결을 할 수 있다. 1. cellForRowAt에서 Button의 tag를 이용하는 방법 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { le..

    [RealmSwift] Nested-Object value add 팁 (중복 방지, 업데이트 방지)

    Realm에 Object를 저장할 때 Dictionary혹은 Json 구조처럼 저장하고 싶을 때가 있다. A반 -------- 이름 : 스위프트 | |____ 나이 : 10 | |_______ 이름 :파이썬 |____ 나이: 70 대충 이런 구조..? { "title":"이석원님 작품", "bookList":[ { "title":"2인조", "image": "2인조", "author" : "이석원", "date" : "2021-03-10" }, { "title": "우리가 보낸 가장 긴 밤", "image": "우리가 보낸 가장 긴 밤", "author" : "이석원", "date" : "2021-03-10" } ] } json으로 보면 이런 구조! 1 : ..

    [LeetCode] Container With Most Water

    https://leetcode.com/problems/container-with-most-water/submissions/ Container With Most Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 그래프 높이가 주어졌을 때 가장 넓이가 큰 경우를 구하는 문제이다. 이건 예시 그림을 보는게 이해가 빠르다. 가장 큰 넓이를 가지는 경우는 위 경우( width = 7, height = 7)이다. 문제를 풀어나가는 원리는 width를 가장 큰 범..

    [LeetCode] Find All Numbers Disappeared in an Array

    https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ Find All Numbers Disappeared in an Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 배열의 길이를 N이라고 했을 때 1~N 중 배열에 등장하지 않은 값들을 출력해야하는 문제이다. 난이도 자체도 Easy이어서 쉽게 풀이할 수 있다. 1. 배열에 등장했는지 여부를 판단할 check 배열 2. ..