如何使用 swift 将数据发送到服务器(api)

Posted

技术标签:

【中文标题】如何使用 swift 将数据发送到服务器(api)【英文标题】:How to send data to the server(api) using swift 【发布时间】:2016-11-15 06:06:17 【问题描述】:

大家好,我正在使用 swift2 开发一个应用程序,我有 Json 格式的 api 密钥,我可以使用它,它提供一些数据,例如成功:1,错误:0 如果我得到值成功 1 表示我想要将输入的数据或保存的数据发送到服务器(api key)。怎么做??

提前致谢

【问题讨论】:

你知道afnetwoking吗? 不,伙计……你能指点什么吗?? @antonyraja 我什至不知道为什么你认为更多的吊舱 = 更多的电池消耗......真的吗?我认为你应该在尝试开发任何东西之前先学习基本的编码,否则它不会很好地工作并且可能会有很多错误 在我的应用程序中,我每 1 分钟更新一次当前位置,即使应用程序在后台处于活动状态......所以它已经消耗了更多内存,这就是我不想添加任何额外框架和 pod 的原因 【参考方案1】:

您可以使用 Alamofire API 将数据发送到服务器。它的文档和实现所有东西都在以下链接中提到。

https://github.com/Alamofire/Alamofire

只需使用 Pod 安装即可,实现起来非常简单。

创建网络类并在其中创建以下函数。

   func get_Request(currentView : UIViewController,action : NSString,completionHandler: (NSDictionary -> Void)) 
    print("Url==>>>",mainURl + (action as String))

    Alamofire.request(.GET,mainURl + (action as String), parameters: nil)
        .responseJSON  response in

            if let JSON = response.result.value 
                completionHandler(JSON as! NSDictionary)
            
            else
                printf(response.result.error?.localizedDescription)
            
        

其他类

viewDidLoad
    NetworkClass.get_Request(self,action: "yourServiceName/" + (yourParameters as String), completionHandler: self.resultHandler)

func resultHandler(result : NSDictionary) -> Void 

    printf("result is -->>",result)


【讨论】:

我不想使用 cocoapod,因为我已经在使用两个 pod..如果我再次添加 cocoapod 意味着我的应用程序将耗尽电池...那么还有其他方法吗???? @antonyraja:谁说使用多个 cocoapod 会耗尽电池? Pods 只是将文件从源存储到您的项目,而不是您手动导入它们。Pods 不会影响您的电池消耗。 Pods 是最好的方式,而不是手动。因为当库中有任何更新时,您需要删除旧文件并将新文件添加到项目中,但使用 pods 您可以轻松更新它们。 但如果你想这样做,那么只需点击此链接***.com/questions/31706589/…

以上是关于如何使用 swift 将数据发送到服务器(api)的主要内容,如果未能解决你的问题,请参考以下文章

Swift:如何对服务进行 API 调用但不等待响应

如何在 Swift 中将 JSON 转换为数据类型?

使用 Swift 和 CoreMIDI 发送和接收 MIDI

如何使用 Alamofire SWIFT 在 post api 中发送 JSON

如何使用 swift UI 中的表单功能将用户输入发送到数据库? [关闭]

如何将 html 数据从节点 js 发送到前端?