Swift access control with target selectors Swift access control with target selectors ios ios

Swift access control with target selectors


you need @objc to expose a private method to objc runtime

@objc private func buttonDidTap(button:UIButton!) {    println(button.char)}

From Xcode6 beta4 release notes

Declarations marked private are not exposed to the Objective-C runtime if not otherwise annotated. IB outlets, IB actions, and Core Data managed properties remain exposed to Objective-C whatever their access level. If you need a private method or property to be callable from Objective-C (such as for an older API that uses a selector-based callback), add the @objc attribute to the declaration explicitly.! !