On Jan 31, 2016, at 14:38 , Jens Alfke <j...@mooseyard.com> wrote:
> 
> It is. I was told to use this approach by an Xcode engineer.

I look forward to using it.

The reason it’s a big deal is because of the way access controls work in Swift: 
‘private’ is per-source-file, and ‘internal’ is per-module, with nothing in 
between. That makes it hard to have “private” behavior between sub-groupings of 
classes within a target. (In Objective-C you control this by having multiple .h 
files, and enforce rules about who’s allowed to #import what.)

For Swift, the equivalent would be multiple modules, but you can only get that 
with multiple frameworks. Creating embedded private frameworks is trivial in 
the current Xcode, *except* when you have multiple platforms using shared 
source files, which means shared ‘import’ module names, and *that* is an ugly 
manual process.

Multi-platform targets make this difficulty go away. I hope Xcode provides a 
streamlined way of doing this (i.e. one that doesn’t involve a trip to Build 
Settings, but provides a simple choice in — say — Info).

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (Xcode-users@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to