有人知道如何在Swift中使用NSURLRequest配置HTTP头吗?我在服务器上设置了身份验证,它只需要传递一个令牌,但我在设置头时遇到了麻烦
我代码:
func getLatestData() {
var loggedInUsersNumber:String = SharingManager.sharedInstance.userID
var usersDataPoint:String = StormDataPoint + loggedInUsersNumber
activityIND.hidden = false
activityIND.startAnimating()
let request = NSURLRequest(URL: NSURL(string: usersDataPoint)!)
let tokenString = SharingManager.sharedInstance.authToken
//request.setValue("Token " + tokenString, forKey: "Authorization")
let urlSession = NSURLSession.sharedSession()
let task = urlSession.dataTaskWithRequest(request, completionHandler: {
(data, response, error) -> Void in
if let error = error {
print(error)
return }
我创建了一个属性“tokenString”作为令牌传递到标头中,并在下一行注解掉它。request.setvalue -我弹出了它,并得到了一个错误“cannot override data type”。我所有的搜索都显示Objective C帮助。有没有更好的方法尝试传递标头?
4条答案
按热度按时间1cosmwyk1#
在Swift 3中,使用
URLRequest
structure而不是NSURLRequest
(类似地,NSURL
URL
,NSURLSession
URLSession
等)。然后使用
addValue(_:for**HTTPHeaderField**:)
添加一个标头。在Swift 2.2中,如果需要修改,则使用
NS**Mutable**URLRequest
。ddrv8njm2#
您可以创建可变URL请求,然后设置字段名称值
bihw5rsg3#
Swift3更大的示例
bxfogqkk4#