В Swift valueForKey: на NSObject определяется как func value(forKey key: String) -> Any?.
valueForKey:
NSObject
func value(forKey key: String) -> Any?
Есть ли действительно случаи, когда он не вернет NSObject?, и если да, то каковы эти случаи?
NSObject?