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 <jgr...@apple.com> wrote:
>
>
> > On Dec 6, 2016, at 8:54 AM, David Catmull via swift-users <
swift-users@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
>
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to