[TIL / 25.03.11] 숫자 야구 게임을 만들어보았소.
·
Algorithm
1. 구현해야 할 것 이번 주 과제로 숫자 야구 게임을 만들어보도록 한다.설명은 위 이미지를 보면 이해가 될텐데 ,, 어렴풋이 기억이 난다. 다만 이런 자료구조를 이용한 문제 풀이는 거의 생소하다보니 미친듯이 삽질했다,,,,,,흑 2. 구현 내용우선 중간중간 계속 코드를 갈아엎었는데 안되는 이유를 알지만 명확히 쓰기는 좀 힘들어서 최대한 문제 해결 쪽에 초점을 맞추다보니 과정에 대한 이미지가 없다,, 2.1 전체 코드import Foundationstruct BaseBallGame { func start() { var gameHistory = [GameHistory]() var gameCount = 0 while true { ..
[TIL / 25.03.07] IBOutlet이 모두 nil이 되는 현상, 캠프 1주차 회고
·
내일배움캠프
1. 문제 해결1.1 상황코드베이스 UI인 내 페이지에서 스토리보드 기반 페이지인 팀원분의 페이지로 네비게이션 이동해야 했는데, 모든 IBOutlet이 런타임에 nil로 잡히던 현상이 있었다. 해당 문제만 보면 기존 가끔 생겼던 스토리보드 단골 오류인 연결에 무언가 버그가 생겼거니 하며 모든 연결을 끊고 다시 연결하는 등 이런저런 시도를 해보며 print 함수로 단계별로 nil인지 찍어봤다. 달라지는 건 없었고 모든 컴포넌트에 대해 nil이라는 답이 돌아왔다. 1.2 해결 방안스토리보드로 정의된 UI에 대한 뷰, 페이지에 연결하려면 그냥 코드 베이스에서 쓰던 방식대로 하면 안된다. let vc = ViewController(); self.navigationController?.pushViewControl..
[TIL / 25.03.06] 컨플릭트 지옥에 갇히게 되,,, (feat. project.pbxproj)
·
Git, Github
어제까지만 해도 서로 맞지 않는 Main.storyboard에 대한 Conflict를 해결하느라 땀 좀 뺐는데,,저거 말고도 사실 꾸준히 괴롭혀오는 파일이 있음,, project.pbxproj라는 파일인데 project.pbxproj란?- Xcode를 켜고 프로젝트를 열면 좌측 네비게이터를 보면 파일들이 유저가 만든대로 정리가 되어있다. 이 파일들을 누르면 해당 파일의 내용을 에디터로 수정할 수 있게 해주는데, 이는 해당 파일(project.pbxproj)이 프로젝트의 모든 구조적 정보를 저장해놓는 데이터베이스 역할을 하기 때문이다. 파일 참조 관리, 빌드 설정, 단계, 그룹 구조, 의존성 관리 등 전반적인 중요한 설정에 관한 정보가 담겨있다. 이 파일이 Xcode 프로젝트 파일(.xcodeproj) 패..
[TIL / 25.03.05] 이미지 슬라이더 + 커스텀 인디케이터
·
iOS/Swift
1. 구현한 것 어느 팀원을 선택하면 해당 팀원의 상세 페이지를 보여주는 화면을 제작하도록 했다.해당 뷰에서 필요한 기술이 뭐가 있을지 만들기 전 생각해봤는데 1. 이미지 슬라이더 2. 그에 맞는 인디케이터 3. 칩 모양은 컬렉션뷰로 4. 화면 크기 생각해서 일부만 스크롤뷰로 구현이정도를 해야했고, 이 포스트에선 가장 애먹었던 부분인 커스텀 슬라이더와 인디케이터에 대해 다루겠다. 이미지 슬라이더 자체는 컨셉이 컬렉션뷰고 화면 꽉채우고 페이지 가능하게 해야 하는 부분이라 썩 어렵지만은 않아서 일단 패스하고, 저 상단에 인디케이터는 보통 라이브러리나 기본 제공되는 형태가 점(dot)으로 되어있기에 커스텀할 필요가 있었다. 2. 구현 내용우선 이런 커스텀 뷰 자체를 직접 만드는 능력이 아직 부족해 클로드에게 ..
[TIL / 25.03.04] 팀원분들을 위한 Git, Github 튜토리얼
·
Git, Github
1. GitGit이란 컴퓨터 파일의 변경 사항을 추적하고 파일들의 작업을 조율하는 분산 버전 관리 시스템입니다.변경 관리, 브랜치, 머지 등 다양한 기능을 제공하여 소스 코드를 관리하는 데에 주로 사용됩니다. 2. GithubGithub는 Git 저장소를 호스팅하는 클라우드 서비스를 말합니다.Pull Request, Issue, Projects 등 협업 기능을 제공하고, 이 깃허브를 통해 코드 리뷰 및 문서화 기능을 이용할 수 있습니다. 3. 자주 쓰는 용어Repository 레포지토리: 저장소로, 프로젝트 파일과 해당 파일의 변경 이력이 저장되는 곳이다.로컬 저장소, 원격 저장소 두 종류가 있다.Commit 커밋: 파일 또는 디렉토리의 변경 사항을 로컬 저장소에 기록한다. 커밋은 변경 내용, 작성자, ..