상세 컨텐츠

본문 제목

Day 14. Swift review, day two.

TIL/#100DaysOfSwiftUI

by box-jeon 2020. 1. 24. 21:34

본문

https://www.hackingwithswift.com/100/swiftui/14

 

100 Days of SwiftUI – Day 14 – Hacking with Swift

100 Days of SwiftUI The 100 Days of SwiftUI is a free collection of videos, tutorials, tests, and more to help you learn SwiftUI faster. Click here to learn more, or watch the video below. Back to 100 Days of SwiftUI

www.hackingwithswift.com

Swift Review 두번째 날입니다. Functions, Optionals, Enums, Structs, Classes를 다룹니다. 모델을 설계할 때, struct와 class를 혼용하는 것은 좀 문제가 있겠다는 생각을 늘 했었는데, struct는 value type이니 매번 복사되는 것 역시 좀 부담스러웠던 것 같습니다. 하지만 struct가 'Copy on Write'로 동작한다니 조금 더 적극적으로 사용해도 되겠다는 생각이 들었습니다. 그냥 최적화 같은 거라고만 생각하고 별로 신경을 안썼었네요. 가이드는 class가 꼭 필요한 상황이 아니라면 struct를 사용하라고 합니다. class가 반드시 필요한 상황이 언제인지에 대해 생각해봤습니다. 상속은 코드를 제법 아낄 수 있는 상황을 만들어주지만 대부분의 경우는 protocol extension으로 대체할 수 있습니다. 다만 복수의 subclass가 필요하다고 가정하고, 그 중 대부분은 superclass의 동작을 승계하지만 몇몇 subclass가 override를 해야하는 상황이 있을 수 있겠네요. 이 상황을 protocol extension으로 구현한다면, interface를 직접 구현하지 말고 protocol extension에 반복될 함수를 구현해놓고 각 구현체에서 interface 구현 시 호출을 하는 게 좋겠네요.

 

토이 프로젝트를 하나 진행 중인데, SwiftUI로 시작하려고 하니 화면에 뿌릴 데이터를 위한 API call을 어디서 해야할지 벌써 고민입니다. 좀 더 열심히 진도를 뽑아야겠습니다.

'TIL > #100DaysOfSwiftUI' 카테고리의 다른 글

Day 16. Project 1, part one.  (0) 2020.01.27
Day 15. Swift review, day three.  (0) 2020.01.25
Day 13. Swift review, day one  (0) 2020.01.19
Day 12. Optionals.  (0) 2020.01.06
Day11. Protocols and extensions.  (0) 2020.01.01

관련글 더보기

댓글 영역