NSObject 'responds' method seems to be broken on the latest version of Xcode 9 Beta 4, Swift version 4.0.
Below is an example code tested on Xcode 8 (works fine), on Xcode 9 the method 'responds' returns false for all situations.
Any help would be appreciated.
public class Worker : NSObject
{
public func work() { }
public func eat(_ food: AnyObject) { }
public func sleep(_ hours: Int,_ minutes: Int) { }
}
let worker = Worker()
let canWork = worker.responds(to: Selector(("work"))) // true
let canEat = worker.responds(to: Selector(("eat:"))) // true
let canSleep = worker.responds(to: Selector(("sleep:minutes:"))) // true
let canQuit = worker.responds(to: Selector(("quit"))) // false
Example source : https://stackoverflow.com/a/24168825