Generic 모델링에서 시작합니다. 아래와 같은 Animal 프로토콜이 있을 때, 이를 사용하는 Farm struct의 메서드에서 Animal의 Concrete 타입으로 대체될 타입파라미터적합성을 따르도록 적용할 수 있습니다. protocol Animal { associatedtype Feed: AnimalFeed func eat(_ food: Feed) } struct Farm { func feed(_ animal: A) { // ... } } 혹은 아래처럼 후행 where절에서 프로토콜 적합성을 지정할 수 있습니다. where절은 디테일하게 requirement와 타입 관계를 작성할 수 있게 해줍니다. struct Farm { func feed(_ animal: A) where A: Animal {..
WWDC22(Platforms State of the Union)에서 Swift의 변경점을 정리해봅니다. 개별 세션의 내용을 참조한 내용들도 있으며, 글은 계속 수정될 수 있습니다. Async Algorithm Package await 키워드: 두 비동기 시퀸스를 zip으로 묶는 작업이 가능하게 해줍니다. try-catch: 네트워크 스트리밍되는 비동기 데이터로 인한 네트워크 장애를 처리할 수 있게 해줍니다. throttle 키워드: 새로 추가된 키워드. 시퀸스로부터의 업데이트를 늦춰주는 시간 기반 알고리즘을 제공. (기존) actor : 스레드로부터 안전한 동시성 실행 코드를 사용해 데이터를 격리하게 해줍니다. Swift는 의도치않게 병렬 스레드 간에 그런 상태를 공유하는 것을 막아줍니다. async/..