> 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