[swift-users] Function conforming to a typealias
Rien
Rien at Balancingrock.nl
Sat Feb 18 05:12:50 CST 2017
Just tried it, unfortunately it does not achieve what I wanted. As soon as a parameter is added, the compiler complains (rightly so) about ignoring an argument.
Oh well, at least I get warnings when parameters are added so that I don’t have to remember which functions need a touch-up.
Regards,
Rien
Site: http://balancingrock.nl
Blog: http://swiftrien.blogspot.com
Github: http://github.com/Balancingrock
Project: http://swiftfire.nl
> On 18 Feb 2017, at 12:05, Rien via swift-users <swift-users at swift.org> wrote:
>
> It feels a bit strange to write it like that, but yes, that would work. Thanks!
>
> (It will prevent me from having to touch up old functions when adding more parameters to the signature as the project evolves)
>
> Regards,
> Rien
>
> Site: http://balancingrock.nl
> Blog: http://swiftrien.blogspot.com
> Github: http://github.com/Balancingrock
> Project: http://swiftfire.nl
>
>
>
>
>
>> On 18 Feb 2017, at 11:52, Adrian Zubarev <adrian.zubarev at devandartist.com> wrote:
>>
>> Not sure what you’re trying to solve there but you could use it like this with closures:
>>
>> typealias Function = (Int, Bool) -> String?
>>
>> let myGreatFunc1: Function = { _ in return nil /* or whatever you need there */ }
>> let myGreatFunc2: Function = { _ in return nil }
>>
>>
>>
>>
>> --
>> Adrian Zubarev
>> Sent with Airmail
>>
>> Am 18. Februar 2017 um 11:47:26, Rien via swift-users (swift-users at swift.org) schrieb:
>>
>>> I want to create a few functions that all have the same signature.
>>>
>>> The signature is defined in a typealias
>>>
>>> Is there any way to shortcut the function definition, or alternatively ensure that the function signature will always be equal to the typealias?
>>>
>>> Examplecode:
>>>
>>> typealias Mysig = (Int, Bool) -> String?
>>>
>>> func myGreatFunc1:Mysig {…}
>>>
>>> func myGreatFunc2:Mysig { …}
>>>
>>> Alternatively
>>>
>>> @conformsTo(Mysig)
>>> func myGreatFunc1(_ a:Int, _ b: Bool) -> String? {…}
>>>
>>> Regards,
>>> Rien
>>>
>>> Site: http://balancingrock.nl
>>> Blog: http://swiftrien.blogspot.com
>>> Github: http://github.com/Balancingrock
>>> Project: http://swiftfire.nl
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> swift-users mailing list
>>> swift-users at swift.org
>>> https://lists.swift.org/mailman/listinfo/swift-users
>
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
More information about the swift-users
mailing list