Hi there!

in Swift 3, we now have #selector and #keyPath yet there’s still no _cmd like 
we have in Objective-C.

Example:

class DirectoryListingStub: DirectoryListing {

    var cannedOutput: [Selector: Any?] = [
        #selector(contentsOfDirectory(at:includingPropertiesForKeys:options:)): 
nil
    ]

    dynamic func contentsOfDirectory(at url: URL, includingPropertiesForKeys 
keys: [URLResourceKey]?, options: FileManager.DirectoryEnumerationOptions) 
throws -> [URL] {
        let selector = 
#selector(contentsOfDirectory(at:includingPropertiesForKeys:options:))
        return cannedOutput[selector] as!  [URL]
    }

}

Problem: I had to specify #selector twice.

I though I’d be able to use #function but:

#selector = contentsOfDirectoryAt:includingPropertiesForKeys:options:error:
#function = contentsOfDirectory(at:includingPropertiesForKeys:options:)

It’d be great if #selector (without arguments) returned the current selector.

Or am I missing something?

R+
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to