적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

Swift iOS 앱 개발/Swift 튜토리얼

[Stanford iOS] Lecture 7. Multithreading EmojiArt

hongssup_ 2021. 4. 9. 18:03
반응형

SwiftUI Lecture 7.

  • Colors and Images
    Color vs. UIColor
    Image vs. UIImage
  • Multithreaded Programming
    Ensuring that my app is never “frozen”
  • EmojiArt Demo
    Review MVVM
    ScrollView
    fileprivate
    Drag and Drop
    UIImage
    Multithreading

 

Color vs. UIColor

Color

: color-specifier to color, shape or view.

대부분 생성/비교(creation/comparison)에 한정되어있는 제한적인 API. 

*API : Application Program Interface 라이브러리에 접근하기 위한 규칙들을 정의한 것

UIColor

: used to manipulate colors.

시스템 관련 색상을 포함해 더 많은 built-in 색상들을 가지고 있다. 

UIColor에서는 RGBA 값을 가져올 수 있기 때문에, 원하는 UIColor가 있으면 Color(uiColor:)를 사용해 표현할 수 있다. 

=> UIColor가 쓰임새가 더 다양함. 

 

Image vs. UIImage

Image

주로 image를 display하는 View 역할을 한다.  

Asset에 있는 이미지는 Image(_ name: String)으로 접근할 수 있다.  

시스템 이미지들은 Image(systemName:)으로 가져와 사용할 수 있다. 

*참고 : developer.apple.com/design 에서 Human Interface Guidelines 참고하기? 

시스템 이미지의 크기는 .imageScale() View modifier를 통해 제어할 수 있다. 

UIImage

실제로 이미지(jpeg, gif 등)를 생성/조작하고 변수에 저장하는 타입. 

 Image(uiImage:)를 사용해서 이미지를 띄워줄 수 있다. (present it as a View) 

 

Multithreading

: can be used to build systems of parallel computing 동시에 여러가지일을 처리하는 앱에서 

- Don't Block my UI!

UI를 방해하지 않는 멀티스레드 구현하는법?

by using different thread of execution. 

* threads : all executing their code simultaneously, switching back and forth between them really quickly. 

Queues

Swift에서는 이렇게 복잡한 멀티스레드를 작동시키기 위해서 'queues'라는 것을 사용한다. 

: a bunch of blocks of code, lined up, waiting for a thread to execute them.

728x90
반응형