[swift-users] ObjC vs Swift action selectors

David Catmull davidcatmull at gmail.com
Tue Dec 6 14:53:57 CST 2016

I tried, writing that as @objc(action:) #selector(ClassName.action(_:)) but
that got an "expected declaration" error.

I also tried adding @objc(action:) to the method itself (which seems
redundant anyway), but that didn't help either.

On Tue, Dec 6, 2016 at 11:50 AM, Joe Groff <jgroff at apple.com> wrote:
> > On Dec 6, 2016, at 8:54 AM, David Catmull via swift-users <
swift-users at swift.org> wrote:
> >
> > I have a unit test in which I verify that a view controller is
correctly validating items in a context menu. I converted the view
controller class to Swift, keeping the selector names the same, while the
test is still in ObjC. The test now doesn't work because the selector
created in ObjC as @selector(action:) somehow isn't matching Swift's
#selector(ClassName.action(_:)). Do I have to rewrite my test in Swift for
this to work?
> You could try giving ClassName.action(_:) an explicit selector using the
@objc(action:) attribute to ensure that it's consistent with the ObjC code.
If that doesn't work, then we may have a bug in the compiler.
> -Joe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161206/652e7c46/attachment.html>

More information about the swift-users mailing list