【发布时间】:2016-02-29 09:40:06
【问题描述】:
我有一个全局函数,它为 http 请求返回参数、标头和 url。虽然 headers 和 url 总是相同的类型,但参数不会。这取决于请求。[[String:String]] 或 [String: Any]。我试图使 func 通用,但我没有工作,因为我必须制作流程并且它们并不总是符合这些类型。我的函数中有开关 a ,在某些情况下我应该使用 arrayType 而在其他情况下我应该使用 dictionaryType 作为parameter 然后返回它。所以这就是问题所在;如何定义 parameter ?或者我能做什么?
任何建议都会让我如此感激。
我试图编写一个结构,使我能够决定像这样的参数类型;
struct parameterType<KeyType: Hashable, ValueType>{
typealias arrayType = [[String:String]]
typealias dictionaryType = [String: Any]
}
但我不知道如何使用它。
这些是函数;
private func returnStaticDataForPostRequest<parameterType>(requestType: postRequestType, additionalParameters: [AnyObject]?) -> (url:NSURL, header:[String: String], parameter: [String: AnyObject]){}
函数返回状态中的参数有时应该是[String: AnyObject] 而不是[String: Any]
再次,任何帮助都会让我很高兴。
【问题讨论】:
标签: ios swift generics swift2 return-type