【发布时间】:2015-09-27 02:26:27
【问题描述】:
只是为了好玩。
例如,我对用户有不同的操作,我想在不同的功能中有意地分开。
- 请求友谊
- 阻止友谊
- 取消好友请求
- ...
所有这些函数(因为我想让它们不同)接收相同的参数
- 昵称
- 完成块
所以总的来说我会有很多这样的功能:
class func requestFriend(nickName : String, withCompletitionHandler completitionHandler : (status : Bool) -> Void)class func acceptFriend(nickName : String, withCompletitionHandler completitionHandler : (status : Bool) -> Void)- ...
现在能够做的真正好的事情是:
typealias UserActionTupleParameter = (nickName : String, completitionHandler : (status : Bool) -> Void)
定义函数可能为:
class func acceptFriend => UserActionTupleParameter
{
}
并用作:
acceptFriend(myTupleVariable)
而不是具有函数def:
class func acceptFriend(parametersTuple : UserActionTupleParameter)
这只会导致调用函数为:
class func acceptFriend((myString, myBlock))
也许我遗漏了一些东西,或者我弄乱了参数命名,这不允许我在没有元组“()”的情况下传递参数,但我无法让 Xcode 7 Swift 2 接受我的意图。
我特别打算强制使用元组类型别名定义作为 func 定义中的 func 参数。
因为我知道我可以像这样定义函数:
func test (string : String, block : Block)
然后将元组创建为:
let tuple = (myString, myBlock)
并将函数调用为:
test(tuple)
一些想法?
【问题讨论】: