I am a bit obsessed with restricting scopes whenever possible (a C++ habit ). I think keeping the global scopes free of things that are not required to be there is a good thing both for the compiler and the human. And actually I wish Swift had
private by default... but that's a different story.
I have a suspicion though that making IB* objects private doesn't make them truly private from the compiler's perspective, i.e. the symbols are still globally accessible though not from Swift code.
Then there's a lot of Swift code on the Internet, including Apple's own examples, that doesn't bother with making the IB* symbols private (or sometimes making anything private at all, even when it should be)
So is it worth the trouble marking all IB* symbols private?