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

이 글은 아래 링크를 토대로 작성한 글입니다. https://learnappmaking.com/notification-center-how-to-swift/ How To: Using Notification Center In Swift NotificationCenter in Swift is useful for sending data from one part of your app to another. How does it work? Find out in this tutorial! learnappmaking.com 프로젝트에서 ViewController 간에 데이터를 전달하면서 NotificationCenter를 사용했다. 하지만 NotificationCenter에 대해 정확히 알고 있단 생각이 들지 않아 이 ..

우리는 코드를 설명할 때 다양한 방법을 사용할 수 있다. 보통 다음과 같은 방법을 사용할 것이다. 코드를 직접 보여주며 설명한다. 줄글로 설명한다. 도표를 사용해 설명한다. (시각화, 도식화, 추상화) UML은 여기서 3번에 해당하는 방법이다. 그렇다면 왜 UML을 언어라고 표현한 것일까? 그 이유는 바로 UML이 커뮤니케이션을 위해 구조화하고 양식화하는 방법이기 때문이다. UML은 시스템이 디자인 된 것을 표준화된 방식으로 도식화하는 것이다. 즉, 도식화를 활용하여 시스템이 어떻게 디자인했는지 전달(커뮤니케이션)하는 방법인 것이다. UML Diagrams는 크게 2가지로 구분할 수 있다. 그렇다면 구조 다이어그램과 행위 다이어그램에서 가장 대표적인 다이어그램을 하나씩 살펴보자. 구조 다이어그램 Clas..

(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의 재고가 변하는지 트래킹을 하고 싶은 경우, 인스턴스 외부에서 값이 바뀌는 것을 알고..

View의 화면 전환 방식에는 Modality와 Navigation이 있고 modal에서도 present modally를 선택하면 full screen, page sheet 등 다양한 방법이 존재한다. 따라서 View LifeCycle에 중점을 두고 화면 전환 방식을 정리해보고자 한다. 이를 확인하기 위한 코드는 다음과 같다. // 첫번째 ViewController class ViewController: UIViewController { required init?(coder: NSCoder) { super.init(coder: coder) print("first init") } override func loadView() { super.loadView() print("first loadView") } o..

이 글은 Apple의 Human Interface Guidelines를 보고 작성한 글입니다. 경고는 현재 앱과 기기의 상태와 관련된 중요한 정보를 전달한다. 또한 종종 피드백을 요청하기도 한다. 구성 요소 title optional message one or more buttons optional txt field → 이런 요소를 제외하면 시각적인 모양은 정적이며 커스터마이즈할 수 없다. Alert를 사용할 때 주의할 점 Minimize alerts 경고의 경우 사용자 경험을 망칠 수 있다. 따라서, 구매 확정이나 파괴적 행동(삭제 같은), 문제 공지 같은 중요한 상황에서만 사용해야 한다. 경고 빈도가 낮다면 오히려 사람들은 경고를 심각하게 받아들인다. 각 경고에선 중요한 정보와 유용한 선택을 제공해라..

이 글은 Human Interface Guideline을 읽고 정리한 글입니다. # Modality 해당 화면에서 추가적인 작업이 필요한 경우 사용하는 화면 전환 (화면의 흐름과는 무관) -> Modality는 보통 아래에서 위로 화면이 올라옴. 모달리티의 기능 사람들이 독립적인 작업이나 콘텐츠와 밀접히 관련된 옵션 세팅에 집중할 수 있도록 도와줌 사람들이 중요한 정보를 받을 수 있도록 보장하며, 만약 필요하다면 조치를 취하게 된다 다양한 시스템 정의 모달 경험을 가능하게 하기 위해 iOS는 alert, activity views, share sheets, action sheet를 제공한다. 만약 커스텀 모달 컨텐츠를 보여주려면 다음과 같은 보여주기 방식을 사용할 수 있다. Automatic: defau..

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