×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
@gregheo ! NSBudapest, May 2018 Shared Exclusive Mutable Immutable
Slide 2
Slide 2 text
@gregheo ! NSBudapest, May 2018 Data "
Slide 3
Slide 3 text
@gregheo ! NSBudapest, May 2018 Code Example #
Slide 4
Slide 4 text
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable Mutable
Slide 5
Slide 5 text
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable Mutable
Slide 6
Slide 6 text
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable private let Screen size / scale Mutable private var private queue $
Slide 7
Slide 7 text
@gregheo ! NSBudapest, May 2018 Fewer entry points
Slide 8
Slide 8 text
@gregheo ! NSBudapest, May 2018 Private queues
Slide 9
Slide 9 text
@gregheo ! NSBudapest, May 2018 Queue Callback
Slide 10
Slide 10 text
@gregheo ! NSBudapest, May 2018 // call from anywhere! public func something() { privateQueue.sync { … } }
Slide 11
Slide 11 text
@gregheo ! NSBudapest, May 2018 // always call on the main queue! public func something()
Slide 12
Slide 12 text
@gregheo ! NSBudapest, May 2018 // always call on the main queue! public func something() { dispatchPrecondition(condition: .onQueue(.main)) }
Slide 13
Slide 13 text
@gregheo ! NSBudapest, May 2018 Make it difficult to get wrong
Slide 14
Slide 14 text
@gregheo ! NSBudapest, May 2018 köszönöm! ☺