[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