This question can seem a bit theoretical, but while looking through ARC subject I discovered that as per swift/stdlib/public/SwiftShims/RefCount.h
- The strong RC is stored as an extra count: when the physical field is 0 the logical value is 1. - The unowned RC also has an extra +1 on behalf of the strong references - The weak RC also has an extra +1 on behalf of the unowned references
I'm wondering why an object initialises with +1 to all counters, what's the point of making extras?
Thanks for the feedback!