본문 바로가기

분류 전체보기44

Swift Memory leak 관리 (1) - lazy var 변수 2개 앱을 만들고 앱스토어 출시하고, 앱 운영하면서 지금까지 메모리 누수 문제로 고생하거나, 문제가 된 적은 없었다. Swift 가 기본적으로 메모리를 알아서 관리해주기 때문이기도 하고, 실질적으로 에러를 발생시킨 적이 없었으니. 우연히 모 기업 인터뷰를 보다가 메모리 누수 관련 질문을 받았는데, 기존에 관심이 없었다 보니 불편한 경험도, 답변을 할 내용도 없었다. 무작정 어떻게든 앱을 만들어야지 라는 급한 의욕과 체계적으로 공부할 이유를 몰랐던 비전공자의 시너지(?)로 발생한 사건이었고 인터뷰 후, 약 한시간 정도 실력 부족에 대한 자아비판 시간을 가진 후, 몇몇 서적과 인터넷을 통해 Swift Memory leak 를 알아보았다. 앱 안정성에 굉장히 중요한 내용인데 여태 관심도 없었다는 나 스스로에게.. 2022. 3. 22.
Swift) UIButton 을 code로 만들 때, 버튼 실행 코드 넣기 (custom alert 만들기) 기존의 Alert 을 사용해서 Font 도 바꾸고 alert 창 모양도 바꿔보고 싶었다. 워낙 Alert library 가 많아서 개인 프로젝트였으면 적당한 디자인의 alert library를 이용해서 사용했을텐데... 팀 프로젝트는 그런거 얄짤없다. 주어진 디자인에 무조건 맞추는게 개발자의 숙명 ㅠㅠ 이건 xcode에서 제공하는 기본 UIAlert 으로 만든 alert view다. 이래저래 찾아보니, 타이틀과 메시지 부분은 폰트도 바꿀수 있고, 색깔도 바꿀수 있고.. 여러 customizing 이 가능한데, 유독 저 버튼은 폰트 색깔까진 바꿀수 있는데 폰트 자체를 바꾸진 못한다... 바꾸는 기능이 UIAlert을 통해서는 없다. 수 시간동안 검색해서 내린 결론이다. 그럼 어쩌지? 만들어야지 ㅠㅠ 만드는.. 2021. 6. 3.
Swift) 키보드 위로 Textfield 따라 올라오게 하기 검색하면 여러 Solution 들을 많이 찾아볼 수 있는데, 개인 프로젝트에서의 문제는 키보드 저 뒤에 뷰가 TableView이다 보니, 처음엔 textField가 잘 올라왔다가도 위에 테이블 뷰를 건드리면 텍스트 뷰가 또 사라지는 문제가 있었다. 기존 코드에서는 보통 TextField만 올리지 않고 전체 view를 모두 올려버리기 때문이다. 아래는 stackOverFlow 에서 검색해서 얻은 코드이다. 위 코드에서 내용중에서 키보드가 나올 것 같으면, viewController의 self.view의 위치를 키보드 높이만큼 계산해서 올려버리는 것이다. 그런데 기존 뷰에 TableView가 있는 경우, Tableview 부분을 클릭해서 스크롤을 해보면 키보드는 그대로 있는데 TextField는 원래 자리로.. 2021. 6. 2.
(Swift iOS) 메모리가 늘어나는 현상.. 줄어들질 않는다_Kingfisher 일단 결론부터 말하면, 원인을 찾았다 ㅠㅠ 뭐 다른거 하다가 차차 알게 되었지만, 왜 이러지? 라는 의문을 품은지 거의 두달만에 찾았다. 현상은 이렇다. 이건 처음 진입 화면이다. 기본이 77.5M 정도 되는데, 여기서 선수 검색화면 즉, 테이블뷰를 이용하는 화면으로 넘어가서, '독일' 을 검색하면 독일 선수들로 테이블뷰가 다시 reload 된다. 메모리 사용량이 늘었다. 검색하면 검색할수록 조금씩 조금씩 메모리가 늘어난다. 뭐 그럴수 있다. 근데 문제는.... 이 화면에서 나가고 초기 화면으로 돌아갔는데도 불구하고, 메모리가 안떨어진다. 일단, 앱 개발 초기에 있었던 문제로 View를 이동하면 이동할수록 메모리가 계단식으로 늘어나는 문제가 있었다. 멋모르고 View 이동할때 아래와 같은 코드를 썼었는데.. 2020. 10. 29.