<div dir="ltr">I tried, writing that as @objc(action:) #selector(ClassName.action(_:)) but that got an "expected declaration" error.<div><br></div><div>I also tried adding @objc(action:) to the method itself (which seems redundant anyway), but that didn't help either.<br><br>On Tue, Dec 6, 2016 at 11:50 AM, Joe Groff <<a href="mailto:jgroff@apple.com">jgroff@apple.com</a>> wrote:<br>><br>><br>> > On Dec 6, 2016, at 8:54 AM, David Catmull via swift-users <<a href="mailto:swift-users@swift.org">swift-users@swift.org</a>> wrote:<br>> ><br>> > 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?<br>><br>> 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.<br>><br>> -Joe<br>><br></div></div>