본문 바로가기

전체 글

(193)
[Swift] 프로그래머스 Lv3. 표 편집 (구현) https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 생각 간단한 Row 노드를 만들어서 링크드 리스트로 구현했다. 숫자 num과 앞의 노드 숫자 prev, 뒤의 노드 숫자 next, 현재 표에 들어가 있는지 체크하는 isTable 변수 만약 범위를 벗어나는 숫자 (맨 앞의 앞, 맨 뒤의 뒤) 면 -1로 두었다. 나머지는 조건대로 구현 테스트 1, 2, 3, 4 시..
[두깃] 출시하기 까지 개인프로젝트를 기획, 개발, 출시까지 하면서 기록? 회고?를 해보려고 한다. 근데 아침까지 자소서를 적다 왔기 때문에 가볍게 적어야겠다. 프로젝트 시작 프로젝트를 시작한 이유는 여러가지가 있었다. 첫 번째로는 퇴사하고 열심히 하자! 취지로..ㅎ 두 번째로는 회사나 동아리 지원, 자기소개서..! iOS 분야의 개발경험을 적으려는데 아무리 생각해도 완성하지 못한 프로젝트로는 나라도 뽑지 않겠다라는 생각이 들었다. 당연한 얘기..! 세 번째로는 UIKit 튜토리얼을 보면서 간단한 할 일 앱을 만들어보고 싶었다! 근데 할 일 앱은 정말 이쁘고 좋은 것들도 많아서 할 일 + 다른 무언가..? 를 만들고 싶었다 ㅎㅎ 그 당시에 깃허브 repo를 정말 한 4~5개 사용하고 있었는데 문득 그냥 레포 별로 할 일 리스트..
[iOS] UIToolbar 이슈 (UIToolbarContentView, UIButtonBarStackView) "", "", "" 키보드 위에 버튼을 나타내기 위해 툴바를 사용했는데 이 오류가 처음 화면에는 안나타나고.. 다시 화면에 재진입할때 발생한다. WTF 홈페이지랑 콘솔창에서 translatesAutoresizingMaskIntoConstraints 를 확인해보라고 해서 버튼 false 툴바 false 지우고 지우고 sizeToFit도 건드려보고 별짓 다해봤는데 안되길래 구글 검색 가장 첫 글에 발견 https://developer.apple.com/forums/thread/121474 UIToolbar issue in iOS 13 | Apple Developer Forums I'm adding one UIBarButtonItem with a custom view. The custom view uses a..
[iOS] 레이아웃이 깨졌을 때 콘솔창 버그 ㅋ2022-04-26 13:03:40.451472+0900 DoGit[4494:107137] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "", "", "", "" ) Will attemp..
[iOS] cellRegistration: cell 배경색 바꾸기 컬렉션 리스트뷰를 사용하다가 cell의 배경색을 바꾸려고 했지만 backgroundColor를 바꾸는 것으로는 바뀌지 않았다. cell.backgroundColor = .backgroundColor 해결방법 backgroundView를 배경색 view로 넣어주었더니 변경되었다. let background: UIView = { let view = UIView() view.backgroundColor = .backgroundColor return view }() cell.backgroundView = background 비슷한 방법으로 cell이 클릭된 것처럼 보이지 않게 하려면 selectedBackgroundView를 바꿔준다. let selectedBackground: UIView = { let vie..
[iOS] reloadItems, reconfigureItems 차이점 우선 이 함수를 쓰게 된 이유를 말해보자면 개인 프로젝트에서 Diffable datasource를 사용하면서 snapshot도 함께 사용하게 되었습니다. 만들던 프로젝트는 Todo 앱으로 버튼 클릭 시 isDone 변수의 값에 따라 UI가 업데이트되어야 했는데, 바뀐 Todo에 대하여 snapshot을 업데이트해도 UI가 업데이트되지 않았습니다. 해서 cell registration을 이용해 datasource를 다시 만들어 apply 시켰더니 적용은 됐지만 애니메이션 적용은 얻을 수 없었습니다. -> 사실 reloadItems, reconfigureItems 을 사용했어야 했는데 이제야 발견했고.. 발견한 김에 두가지 함수에 대해 차이점을 정리해보려고 합니다. 우선 경험으로 얻은 차이점을 보고 자세하게..
[두깃] 저장소 추가화면 (CollectionView list + Diffable DataSource) 기능구현 + 4.22 추가 사랑스러운 우리 시오를 떠나보내고 잠시 쉬었다가 기능 구현을 하느라 시간이 조금 오래 걸렸다. 저장소 추가 화면의 필요한 기능 1. searchBar 검색 시 검색 결과 스냅샷 apply 2. 체크 버튼 클릭 시 저장소 추가 (realm에) 3. 체크 버튼 해제 시 저장소에 저장된 할 일이 삭제된다고 alert 창 1. SearchBar 검색 구현 snapshot을 업데이트하기 전에 searchBar의 text로 필터링하여 생성한 GithubRepository 배열을 snapshot에 적용하였다. -> 정렬을 그냥 $0.name < $1.name 으로 하면 대문자가 소문자보다 앞에 정렬되기 때문에 모두 소문자로 바꿔주고 정렬하였다. func performQuery(with filter:..
[두깃] 저장소 추가화면 (CollectionView list + Diffable DataSource) 벌써 7번째 글이다..! 개인 프로젝트를 하면서 글 작성을 시작한 이유는 개발하면서 알게 된 것들을 시간이 지나면 잊어버리게 되기 때문에, 나중에 다시 보면서 기억하기 위해 시작하였다. + 끝을 보기 위해서.. 어제오늘은 대략적인 화면 UI 구성과 api 통신을 구현하였다. 메인화면 Todo UI 저장소 추가 화면 UI 두 화면 모두 CollectionView + Diffable Data source를 활용하였다. 왜냐하면 애플이 테이블 뷰를 사용하지 않고 컬렉션 뷰로도 리스트를 '유연하게' 구현할 수 있게 했기 때문에 이를 활용하였다. diffable data source는 기존의 reloadData 방식의 단점을 보완하고, 데이터가 변경될 때마다 애니메이션 🥰 이 자동으로 보이기 때문에 사용해보았다...