[swift-evolution] Selector for current method
Robert Widmann
devteam.codafi at gmail.com
Sun Nov 13 18:01:07 CST 2016
NSSelectorFromString(#function) works just fine for this already.
> On Nov 13, 2016, at 6:50 PM, Rudolf Adamkovič via swift-evolution <swift-evolution at swift.org> wrote:
>
> 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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
More information about the swift-evolution
mailing list