일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- roundingMode
- SWIFTUI
- 독후감
- Structures and Classes
- 부트캠프
- Codegen
- Failed to register bundle identifier
- 독서후기
- Info.plist
- 스위프트
- mvvm
- xcode
- human interface guidelines
- 야곰아카데미
- SWIFT
- NumberFormatter
- Modality
- Mock
- View Life Cycle
- 아이폰
- @available
- 스타트업주니어로살아남기
- IOS
- NotificationCenter
- delegation
- 책후기
- contentInset
- viewcontroller
- Navigation
- UIResponder
- Today
- Total
목록Software Engineering/TIL (17)
호댕의 iOS 개발

방학에 푹 쉬고 다시 시작하는 첫 주이다. 방학 때 공부를 많이 못한 것은 아쉽기도 하지만 다시 체력을 보충하고 다시 공부에 전념할 수 있도록 마인드 셋팅을 할 수 있었다는 것에 대해선 만족한다. 이번 주는 iOS 개발을 하면서 중요한 'TableView'에 대해 학습했다. 아직 어려운 부분이 많지만 팀원들과 함께 공부하며 TableView의 기본적인 메서드와 호출 순서에 대해 어느정도 감을 잡을 수 있었다. 스스로도 계속 적용해보려고 노력하면 익숙해지겠지...? 21.12.06 TableView dataSource -> 데이터를 전달 delegate -> 테이블 뷰가 수행하는 행동, 모습을 전달 didSelectRowAt 메서드를 통해 어떤 섹션에 어떤 로우에 이벤트를 받았는지 알 수 있다. 이벤트가 ..

이번 주는 NumberFormatter, ARC, App Life Cycle에 대해 중점적으로 배웠다. ARC ARC는 뭘 자동으로 해주는 것일까? 컴파일 타입에 retain을 통해 reference count가 올라가고 release를 통해 reference count가 내려가는 것에 대한 코드를 자동으로 넣어준다. 이를 통해 reference counting이 0이 되면 메모리에서 해제시킨다. (deinit을 호출한다) 그렇다면 ARC 이전에는 어떻게 메모리 관리를 해줬을까? MRC를 사용해서 직접 retain과 release 코드를 작성해주고 reference count를 올리고 내려줬다. 따라서 이 때는 참조 카운트를 개발자의 실수로 잘못 더해주거나 빼주는 경우도 있었다. ARC를 이해해야 하는 ..

프로그래밍을 하고 프로젝트를 수행하며 나보다 잘하는 사람들을 숱하게 보게 된다. (가끔 자괴감이 들기도 한다) 하지만 야곰이 말씀하셨던 것처럼 다른 사람과 비교하지 말고 과거의 나와 비교하자! (물론 과거의 나보다 성장하지 않았다면 그것은 큰 문제이다) 불과 3~4개월 전만 해도 정말 Xcode를 어떻게 켜는지 조차 몰랐고 반복문 조건문도 전혀 몰랐었다. 아직 많이 부족하지만, 또 많이 성장한 만큼 할 수 있다는 생각으로 공부해나가자!! 학습한 내용 # nan (not a number) 프로젝트를 진행하며 처음에는 0으로 나눌 경우에 대해 오류처리를 해주려고 했다. 하지만 Double에 nan이라는 타입 프로퍼티가 존재했다. nan은 모든 값과 같지도, 크지도, 작지도 않다. (심지어 자신도 포함해서 비..

야곰의 피가 되고 살이 되는 잔소리~ # 마스터가 목표가 아니다! 캠프를 진행하면서 마스터하는 것이 목표가 아니다. 뭘 모르는지, 뭘 깊게 공부할 지 알아가는 과정이다.즉, 어떤 방식으로 탐구하면 좋을지 알아가는 과정이 필요하다. (공부의 자세!) 먼저 관심있는 부분에 대해 어떻게 공부하면 좋을지 깊게 공부해보고, 다른 사람들이 공유한 것을 살펴보는 것도 좋다.(개발자 Conference나 Semina가 많은 이유) 모든 것을 익히지 못한다고 부담을 너무 갖진 말자. 다른 사람들이 공부한 것을 공유받는 것도 적극 활용하자! 학습한 내용 # 프로토콜 프로토콜은 타입이 갖출 기능들의 청사진이다. 즉, 하나의 기능 요구사항이다.(여기서 프로토콜은 상속한다고 표현하지 않고 '채택한다’라는 표현을 사용한다.) 그..

(TDD, Unit Test, Stack, Queue, NotificationCenter, ViewController 간 데이터 전달) 이번 주도 많은 것들을 배웠다. 프로젝트를 진행하면서 Model의 코드를 작성할 때 이 코드를 어떻게 점검해야되나 고민했었는데 Unit Test를 배웠다. # Unit Test -> TDD를 위한 보조 수단이다. 정해둔 동작 방향이 정확히 작동하는지 검증하는 절차로 기능별, 단위별 테스트를 해보는 것! 그렇다면 테스트 케이스가 많을수록 좋은 것일까? 적절한 것이 좋다 (최소한 요구사항에 있는 조건은 모두 넣어야 하고 엣지 케이스를 추가해주면 좋다) 다만 테스트 케이스가 많아질수록 요구사항 자체가 변하면 수정하기가 어려워진다. 왜 Unit Test를 해야 할까? 이는 맥북..

최근들어 직접 스토리보드를 다루며 처음으로 앱 같은 것을 만들고 있다. 맨날 콘솔 로그로만 구현을 하다가 스토리 보드로 시뮬레이터도 돌려보고 하니 훨씬 재미있는 것 같다. 물론 해야할 것들은 점점점~~~ 늘어나고 있긴 하다. (Auto Layout도 공부해야 하고 LLDB도 공부해야 하고 Swift 문법도 좀 더 공부해야 하고..) 오늘 할 일 - JuiceMaker Step 2 프로젝트 리팩토링 - 오토 레이아웃 관련 스크럼 - View의 LifeCycle 관련 공부 # KVO 외부에서 변화를 관찰하고 싶을 때 사용한다 특정 인스턴스의 key에 해당하는 값이 변하는지 계속 지켜보게 된다. 예를 들어 FruitStore의 재고가 변하는지 트래킹을 하고 싶은 경우, 인스턴스 외부에서 값이 바뀌는 것을 알고..

오늘은 구조체와 클래스의 차이와 Singleton 위주로 학습을 진행했다. 처음 공식문서를 통해 접했을 때는 정확히 이해가 가지 않았지만 계속 반복해서 보며 조금씩 이해를 하고 있다. 최근 들어 한번도 접해보지 못한 개념들에 대해 공부하고 적용해보며 어렵다고 생각이 드는 부분이 많은 만큼 반복해서 개념들을 이해할 수 있도록 공부해야겠다. 오늘 한 일 - Structure and Classes 공식문서 다시 보기 - Choosing Between Structures and Classes 아티클 보기 - Singleton 공식문서 보기 - 프로젝트 코드 개선 (타입의 기능 분리 및 기능 이동) # 왜 클래스에는 Memberwise Initializer가 없을까? Swift 구조체의 유용한 특징 중 하나는 바..

이번 주는 MVC, NotificationCenter, Instance, Type 등에 대해 중점적으로 배웠다. Instance와 Type, Property, Method의 경우 충분히 이해가 됐지만 MVC와 NotificationCenter는 아직 어떻게 사용하면 좋을지 정확히는 모르겠다. 이 부분은 계속 프로젝트에 접목시켜 보면서 이해할 수 있도록 해야겠다. # 이번 주 한 일 Properties 공식문서 보기 (Stored Prpperties까지) Initialization 공식문서 보기 (Default Initializers까지) Properties 공식문서 보기 Structures and Classes 공식문서 보기 Access Control 공식문서 보기 Choosing Between Stru..