안녕하세요 :) Zedd입니다. 오늘은 Sendable에 대해 공부! # Actor 자 여러분 actor 아시죠!? actor BankAccount { } 이렇게 actor 타입을 만들었었잖아요! 근데 Actor라는 것도 있어요. 얘는 뭘까요? Actor는 프로토콜이에요. 모든 actor가 준수하고 있는 common protocol이 Actor입니다. 이 Actor 프로토콜은 모든 actor 타입을 일반화합니다. actor 타입은 암시적으로 이 프로토콜(Actor)을 따르고 있어요. actor BankAccount { } let account = BankAccount() account is Actor // true 이게 된다는거! 🤷 : 이게 Sendable이랑 무슨..상관.. 🧑💻 : Actor가 S..
📖 Actor (1) 읽으러가기 📚 Actor (2) 읽으러가기 안녕하세요 :) Zedd입니다. Actor (2) - Actor isolation 글에서 Actor isolation을 공부해봤는데요. 오늘은 isolated parameter / nonisolated keyword에 대해서 공부해보겠습니다. 반드시 Actor (2) - Actor isolation 글을 읽고와주세요. # 한계 Actor (2) - Actor isolation 글에서 BankAccount Actor를 정의했었습니다. (extension에 있던 Transfer메소드는 제외하고 보도록하죠) actor BankAccount { let accountNumber: Int var balance: Double init(accountNum..
📖 Actor (1) 읽으러가기 # Actor 특징 복습 📝 - Actor는 그냥 Swift의 새로운 타입임. 클래스와 가장 유사. - Swift의 다른 모든 타입들과 똑같이 프로퍼티, 메소드, 이니셜라이저, subscripts 등을 가질 수 있음. - 프로토콜 준수, Extension 역시 쌉가능 - 참조타입 like class - 클래스와 달리 Actor는 한번에 하나의 작업만 변경 가능한 상태(mutable state)에 접근할 수 있도록 허용. - 클래스와 달리 상속을 지원하지 않음. # Actor isolation 우리가 사실 immutable state면 Actor를 쓸 필요도 없잖아요? 근데 지금 (Shared) mutable state여서 지금 문제가 발생할 여지가 있는거ㅇㅇ 그래서 우리가..
안녕하세요 :) Zedd입니다. WWDC 21 ) What‘s new in Swift 에서도 잠깐 본 내용인데, Actor에 대해서 공부. # 다중 쓰레드 시스템에서 제대로 작동하지 않는 코드 WWDC 21 ) What‘s new in Swift 에서 본 예제. class Counter { var count: Int = 0 func increment() { self.count += 1 } } 이런 Counter가 있고, let counter = Counter() // global DispatchQueue.global().async { counter.increment() } // main counter.increment() 이렇게 각기 다른 스레드에서 increment를 호출하면, 대충 이런 경고를 받을 ..
# Swift 5.5 - 지금까지 최고의 릴리즈 - Swift Concurrency를 포함하여 편리/효율/안전하게 concurrent programming을 할 수 있다. # Swift Package Index Swift Package Index는 Swift Package Manager를 지원하는 패키지를 찾을 수 있도록 커뮤니티에서 만든 페이지 이제 Swift 5.5 및 Xcode 13에서는 패키지를 훨씬 더 빠르고 쉽게 사용할 수 있도록 Xcode가 지원함. Xcode 12에서는 이렇게 URL만 입력할 수 있었는데, Xcode 13에서는 File > Add Package를 누르면 이렇게!!!! Swift Package Manager를 지원하는 Package들의 리스트가 나옴. "Package Coll..
- SwiftUI
- np-hard
- swift3
- WidgetKit
- Accessibility
- Combine
- Git
- swift array
- 회고
- 스위프트
- Swift
- fastlane
- ios 13
- UIBezierPath
- 제이슨 파싱
- swift tutorial
- 스위프트 문법
- 피아노
- swift sort
- WWDC
- IOS
- Xcode
- FLUTTER
- actor
- swift delegate
- swift 공부
- np-complete
- iOS delegate
- WKWebView
- github
- Total
- Today
- Yesterday