[SwiftUI] 애니메이션과 전환 간단하게 알아보기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 SwiftUI에서 뷰를 애니메이션 하는 것과 앱 내에서의 전환에 대한 것을 한번 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다! 암묵적 애니메이션SwiftUI에 뷰는 크기, 색상, 회전 각도, 불투명도 등 뷰의 외형을 제어하는 프로퍼티들을 가지고 있습니다. 이런 종류의 프로퍼티는 A라는 상태에서 B라는 상태로 바뀌는 것을 애니메이션 되게 할 수 있습니다. 이러한 상태 변화를 할 때 애니메이션이 나타나게 하는 방법 중 하나는 animation() 수정자를 사용하는 것입니다. 이것을 암묵적 애니메이션(implicit animation)이라고 부르는데, 애니메이션 수정자 앞에 있는 모든 수정자를 암묵적으로 애니메이션 되도록 만들어줍니다. 애니메이션 효과를 ..
[SwiftUI] SwiftUI와 UIKit 통합하기 (2/2)
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 저번 포스팅에 이어서 SwiftUI와 UIKit을 통합하는 방법에 대해서 정리해보겠습니다. 저번 포스팅이 궁금하신 분들은 여기를 참고해주세요! 그럼 바로 시작하겠습니다! 프로젝트 생성저번 포스팅에서는 개념에 대해서 다뤄봤으니 이번 포스팅에서는 프로젝트에서 직접 해보겠습니다. 먼저 스토리보드로 시작하는 HostingControllerTest 라는 프로젝트를 하나 만들어주겠습니다.SwiftUI 콘텐트 뷰 추가생성을 했다면 해당 프로젝트 파일 안에 SwiftUI View 파일을 추가해주겠습니다. 추가하는 방법은 File > New File from Template... 메뉴 옵션을 선택해서 SwiftUI View 템플릿을 선택하고 생성해주면 됩니다. 그리고 코..
[SwiftUI] SwiftUI와 UIKit 통합하기 (1/2)
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 SwiftUI와 UIKit을 통합하는 방법에 대해서 한번 알아보려고 합니다. (이번 포스팅에서는 간단하게 개념만 짚고 다음 포스팅에서 프로젝트를 만들어서 설명해드리겠습니다!)서론iOS 개발 생태계는 끊임없이 진화하고 있습니다. SwiftUI가 도입되기 전에 개발된 앱들은 iOS SDK에 포함된 UIKit과 UIKit 기반의 프레임워크를 사용해서 개발이 되었습니다. 2019년 Apple이 SwiftUI를 도입한 이후, 많은 개발자들이 이 새로운 선언적 UI 프레임워크의 장점을 누리고 있습니다. 하지만 동시에 수년간 축적된 UIKit의 강력한 기능과 광범위한 라이브러리를 완전히 배제하기는 어려운 것이 현실입니다. 그렇기 때문에 SwiftUI와 UIKit을 통..
[SwiftUI] @AppStorage와 @SceneStorage 프로퍼티 래퍼 이해하기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 @AppStorage와 @SceneStorage 프로퍼티 래퍼에 대해서 정리를 해보려고 합니다. 앱에 요구사항 중 하나는 앱을 다시 시작해도 유지되어야 하는 소량의 데이터를 앱이 저장하고 있어야 한다는 점입니다. 이러한 부분들을 위해서 SwiftUI는 소량의 앱 데이터를 지속적으로 저장하기 위해 두 개의 프로퍼티 래퍼(@AppStorage, @SceneStorage)를 제공하고 있습니다! @SceneStorage 프로퍼티 래퍼@SceneStorage 프로퍼티 래퍼는 개별 앱 화면 인스턴스의 범위 내에서 소량의 데이터를 저장하는 데 사용되며 앱이 실행되는 사이에 화면 상태를 저장하거나 복원하는 데 주로 사용됩니다.  예를 들어서 우리가 어떤 앱에서 양식을 ..
[운영체제] CPU 스케줄링 알아보기
·
CS/운영체제
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 오랜만에 운영체제에 대해서 다뤄볼건데 그 중에서도 CPU 스케줄링에 대해서 한번 정리를 해보려고 합니다. 본론에 들어가기에 앞서서!운영체제가 CPU로 할당하는 대상에는 프로세스 뿐만 아니라 스레드도 포함이 되어 있지만 이번 포스팅에서는 이 두가지를 '프로세스'로 통칭해서 포스팅한다는 점 유의하고 봐주시면 감사하겠습니다. 스케줄링이란?먼저 기본적인 부분부터 짚고 넘어가겠습니다.  모든 프로세스와 스레드는 실행되기 위해 자원을 필요로 합니다. 여기서 자원이란 프로세스가 실행되기 위해 요구되는 모든 요소를 의미하죠. 따라서 자원 배분은 매우 중요한 문제입니다. 하지만 만약 이 중요한 자원을 무작위로 배분해, 어떤 프로세스에는 100 중 80을 주고, 다른 곳에..
[RxSwift] RxSwift 개념 이해하기
·
Apple/RxSwift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 드디어 RxSwift에 대한 개념에 대해서 정리해보려고 합니다. RxSwift에 대해서 처음 공부하는 거다 보니 잘못된 부분이 있을 수도 있는데잘못된 내용 지적이나 피드백은 댓글로 부탁드립니다!  그럼 바로 시작해보겠습니다! RxSwift가 뭔데?우선 RxSwift가 어떤 것인지부터 이해하고 시작합니다. RxSwift, 정말 많이 들으신 분들도 계실 거고 처음 들어보시는 분들도 계실텐데 한줄 요약을 해보면 반응형 프로그래밍(Functional Reactive Programming)을 Swift에서 구현할 수 있도록 도와주는 라이브러리입니다.   그렇다면 반응형 프로그래밍(리액티브 프로그래밍)이 도대체 뭐냐?(여기서부터는 리액티브 프로그래밍이라고 표현하겠습..