title: How to hide an Objective C declaration from Swift
body: <p>I'm working on a library written in Objective-C. I want to have some methods available to callers written in Swift, and not available to callers written in Objective-C.</p>
  
  <p>Going in the other direction, you can control Swift visibility in Objective-C with the <code>@objc</code> and <code>@nonobjc</code> attributes. Are there equivalents to make some Objective-C methods Swift-only or Objective-C-only?</p>
  
  <p>Would I have to maintain a separate header? And if so, is there any way I could require Swift users to import <code>Library-Swift.h</code> in their bridging headers instead of <code>Library.h</code>?</p>