> On 23 Sep 2016, at 12:09, Marco S Hyman <m...@snafu.org> wrote:
> 
> On Sep 22, 2016, at 9:51 PM, Gerriet M. Denkmann via swift-users 
> <swift-users@swift.org> wrote:
>> 
>> This line (Swift 3):
>>      if a.responds(to: Selector(“viewControllers") )
>> creates this warning: Use '#selector' instead of explicitly constructing a 
>> 'Selector'
>> 
>> Ok. Following this advice I change it to:
>>      if a.responds(to: #selector(“viewControllers”))
> 
> #selector does not take a string.   It takes a method name.  This is required 
> as the name needs to be mangled/demangled in the conversion between obj-c and 
> swift.
> 
> You might need the class name, too, e.g. #selector(MyClass.viewControllers)

This might be difficult. viewControllers is a property used in several classes, 
e.g. UIPageViewController, UISplitViewController, etc.

Xcode has just given me a new suggestion (probably it noticed that I was not 
quite happy with its former hint):
        if a.responds(to: #selector(getter: 
UINavigationController.viewControllers))
but I do not want to be restricted to this special class.
My a is AnyObject and should be treated as such.

Kind regards,

Gerriet.


_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to