[swift-users] Simultaneous accesses, but modification requires exclusive access

Joanna Carter joanna at carterconsulting.org.uk
Mon Jul 24 04:43:27 CDT 2017

> Background:
> Just a little background into what I was trying to achieve (I could be wrong):
> - I have a set of classes C1, C2, C3 which has a lot of common code
> - I would like to build something that can be reused without exposing the implementation details. (I can subclass but would expose the underlying functions, same applies to protocol as well)
> - I thought I would build helper class / struct which would contain the common code. I can make the helper a private property so that the functions wouldn’t be exposed to the instances of C1, C2, C3. In order to achieve that I had to pass some functions from C1 into the Helper struct.
> Question 2:
> - Is this problem (hiding implementation details) normally tackled using Helper class (or struct) or is there a more better approach ?

Usually, as long as the protocol doesn't reference self or have associated types, I would use a protocol as the "abstract" type and then you could implement it in either a class or struct.


Joanna Carter
Carter Consulting

More information about the swift-users mailing list