如何从 Swift NSURLSession 获取数据?

2024-04-27

例如,我有以下代码:

let task = NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {data, response, error -> Void in
        var dann = NSString(data: data, encoding: NSUTF8StringEncoding)!
        self.str = dann
})
task.resume()

我想将数据传输到类中的变量(str类中的变量)。字符串self.str = dann没有传达任何信息。我怎样才能做到这一点?


我不确定 NSString 是你想要的类型。 JSON 可能是返回数据的格式,具体取决于您的 URL 的功能。我尝试了提供的代码并遇到了相同的问题,但是如果您将其视为 JSON(我使用 httpbin.org 作为虚拟 URL 源)并且它有效。

    let task = NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: "http://httpbin.org/get")!, completionHandler: { (data, response, error) -> Void in
        do{
            let str = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as! [String:AnyObject]
            print(str)
        }
        catch {
            print("json error: \(error)")
        }
    })
    task.resume()

(感谢@sgthad 建议的编辑。该编辑与问题不是特别相关,但仍然想将代码更新为最新的。)

Swift 3 语法更新

let url = URL(string: "http://httpbin.org/get")!
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
    guard let unwrappedData = data else { return }
    do {
        let str = try JSONSerialization.jsonObject(with: unwrappedData, options: .allowFragments)
        print(str)
    } catch {
        print("json error: \(error)")
    }
}
task.resume()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Swift NSURLSession 获取数据? 的相关文章

  • Firebase 3.x - Facebook 登录

    InFirebase 2 5 1 我曾经这样做过 而且很有效 IBAction func facebookLoginDidTouch sender AnyObject let facebookLogin FBSDKLoginManager
  • 如何快速将 Int16 转换为两个 UInt8 字节

    我有一些二进制数据 将两个字节值编码为有符号整数 bytes 1 255 0xFF bytes 2 251 0xF1 Decoding 这相当简单 我可以提取一个Int16这些字节的值 Int16 bytes 1 lt lt 8 Int16
  • 如何判断变量是否是数组

    我有一个接受 Any 的 Swift 函数 我希望它能够接受字符串数组 整数数组 混合数组或数组数组等 它也可以只接受字符串或整数 等等 不在数组中 所以我有这个 private func parse parameter Any if pa
  • 在 RealityKit 中更改对象的枢轴点

    我希望立方体仅在 z 轴正方向上缩放 现在 当我缩放它时 它总是围绕其中心缩放 因此 为此我必须更改对象的锚点 我知道在 SceneKit 中有一个可以使用的枢轴属性 在 RealityKit 中也有办法做到这一点吗 我发现了一个相当简单的
  • 如何正确设置 UIBezierPath 的动画以产生水/波浪效果?

    我正在尝试做一个UIBezierPath像波浪或水一样动画 类似于这样的事情 https dribbble com shots 3994990 Waves Loading Animation https dribbble com shots
  • 如何将多个请求传输到 Firebase 以同时从多个节点获取数据

    我需要从 Firebase 数据库中的 4 个节点检索数据 根据设计 在 firebase 中 这只能通过触发 4 个查询来完成 就我而言 这 4 个查询是独立的 因为我已经知道每个查询的路径 我可以同时触发它们 我从 Frank van
  • 在 SwiftUI TextEditor 中设置光标位置

    有没有办法以编程方式将光标移动到特定文本行或在 SwifUI 中选择它TextEditor 例如 如果有一个TextEditor里面写着10行 当用户按下按钮时 光标将导航到第三行 或者文本将被选择 目前使用默认的 SwiftUI 是不可能
  • 操作按钮未出现在通知 iOS 10 中

    我在我的应用程序中使用本地推送通知 在 iOS 10 中为通知添加操作按钮时 它不会出现在通知下方 通知正在显示 但通知底部缺少操作按钮 下面给出了 appdelegate 代码 import UIKit import CoreData i
  • 图表无法在 Xcode 14 上编译

    我在图书馆中面临以下错误 Type 图表数据集 不符合协议 范围可替换集合 实例方法不可用 替换Subrange with 用于满足协议的要求 范围可替换集合 将其附加到扩展 ChartDataSet RangeReplaceableCol
  • 按下后退按钮时 SwiftUI 工具栏项目被剪裁

    我在 SwiftUI 中遇到了一种奇怪的行为 我似乎无法解决它 鉴于以下简单的示例应用程序 我遇到了这种行为 工具栏项目在初始运行时正确呈现 但导航离开并返回它会被剪切 重新创建此示例代码 内容视图 swift import SwiftUI
  • 如何在 Swift 中检查 while 循环条件中的“nil”?

    如何检查nil在 Swift 的 while 循环中 我在这方面遇到错误 var count UInt 0 var view UIView self while view superview nil Cannot invoke with a
  • 如何确定 NSURLSessionTask 请求何时开始?

    I use NSURLSessionTask我正在尝试监视我的一些 HTTP 请求需要多长时间 我可以监视什么委托方法 或其他方法 NSURLSessionTask实际上提出了最初的请求 如果这是一个NSURLConnection里面一个N
  • Xcode 6 代码编辑器异常行为

    截至最近 我在使用 Xcode 6 代码编辑器时遇到了一些麻烦 最终导致编辑窗口中的焦点快速变化 在编辑文本时跳转到同一文件中完全不同的位置 一切就是这样开始的 最近 编辑器拒绝上下滚动 挂起 停止显示行号或任何其他文本 我该怎么做才能让它
  • iOS 8 UITableView 分隔符插入 0 不起作用

    我有一个应用程序 其中UITableView的分隔符插入设置为自定义值 右0 Left 0 这完美地适用于iOS 7 x 但是在iOS 8 0我看到分隔符插入设置为默认值15在右侧 即使在 xib 文件中它设置为0 它仍然显示不正确 我该如
  • 如何使用 Unicode 十六进制值 (UTF-16) 在 Swift 中表达字符串

    我想在 Swift 中使用十六进制值编写 Unicode 字符串 我已阅读文档 https developer apple com library prerelease ios documentation Swift Conceptual
  • 将深层链接传递到 iOS 模拟器?

    我想找到一种更简单的方法来在 iOS 模拟器中调用深层链接 在 Android 上 您可以使用 ADB 通过控制台将链接传输到模拟器中 是否有类似的方法或解决方法来打开最新 iOS 模拟器的深层链接 您可以在终端中输入以下内容 xcrun
  • 移动文件并覆盖[重复]

    这个问题在这里已经有答案了 即使同名文件已存在 我也尝试移动文件 NSFileManager moveItemAtURL location1 toURL location2 Does NSFileManager的方法moveItemAtUR
  • UINavigationBar setBackgroundImage 在 AppDelegate 中使用 Swift

    我正在尝试在 Swift 的 App Delegate 中全局设置导航栏的背景图像 我可以让它在单独的视图控制器上工作 如下所示 var topBar UINavigationBar topBar setBackgroundImage UI
  • 编辑模板身份验证 Firebase

    您好 我使用 Firebase 启动了一个新应用程序 然后执行身份验证方法 但我需要编辑电子邮件地址验证和更改电子邮件地址的模板 这两个选项无法编辑 但重置密码后可以编辑模板 字段 消息 该消息仅在选项 电子邮件地址验证和更改电子邮件地址
  • 将对象映射到 TableView 部分的 Swift 二维数组

    我想不出更好的方法来做到这一点 我将学生对象的所有属性映射到二维数组中 所以我的电视有几个部分 我也不能使用静态表视图 如果是这样 这个问题就不会存在 所以我在 TVC 中的代码 let currentUser PFUser current

随机推荐

  • Heroku 在部署时不会预编译资产

    它在其文档中非常清楚地表明 如果我不在本地预编译它们 它就会执行此操作 说实话 我对在本地预编译这些没有兴趣 我所经历过的生产 rb 我已经复制了应用程序 rb In my 生产 rb config serve static assets
  • 使用日期作为窗口函数实现 RANGE

    从 SQLAlchemy 1 4 25 开始 没有内置支持 所以我尝试使用该解决方案here https stackoverflow com a 69606048 11277108 这是我的复制 from datetime import d
  • 使用 ViewBag 时出现 RuntimeBinderException

    我们收到 Layout cshtml 中使用的 Viewbag 项目的 RuntimeBinderException 我们在内存分析器中观察到这些异常 它们不是致命的 一切正常 但很烦人 我们想清除它们 例如 以下代码会导致异常 Rende
  • 有时 git 会在没有我要求的情况下将所有远程 git 分支作为本地分支进行跟踪。发生了什么?

    有时 git 会自发地 在某些但不是全部 拉取 或 克隆 操作期间 将存储库的所有远程分支复制到我的本地存储库中 甚至将它们全部设置为正确跟踪相应的远程分支 这是什么原因造成的 有什么办法可以让我故意这样做吗 如果您只是从远程分支执行普通分
  • 如何获取屏幕触摸的 x,y 坐标?

    当我的应用程序运行时 每当有人触摸屏幕时 是否有一种简单的方法来获取 x y 坐标 只是想将它们存储在一些整数中 覆盖onTouchEvent MotionEvent event 然后打电话event getX and event getY
  • 如何强制 JTable 在包含阿拉伯字符的情况下不反转文本?

    我有以下文字 word 但是当它显示在我的 JTable 上时 它看起来像这样 word 在每个 JLabel 或 TextArea 或任何其他输入中 它确实看起来像原始文本 word 仅在 JTable 上我遇到这样的问题 我不在乎它是否
  • 延迟作业:如何强制处理失败的作业

    我正在维护一个 Rails 应用程序 在该应用程序上运行 Delayed job gem 来发送电子邮件 我刚刚注意到 由于应用程序中的错误 我所有延迟的工作在过去几天都失败了 现在错误已修复 我想尽快处理作业 但它们已经有太多失败的尝试
  • 使窗口在特定边界内可拖动 WPF

    我有一个 wpf 子窗口 允许使用 DragMove 方法进行拖动 但是 我需要允许仅在其父窗口控件的范围内拖动窗口 谁能建议一种方法来实现这一目标 谢谢 有两种方法可以做到这一点 Using 地点已结束 http msdn microso
  • 会话复制在多节点集群上的 glassfish 中不起作用

    会话复制在多节点集群上的 glassfish 中不起作用 1 应用程序在 web xml 中包含可分发标签 2 应用程序部署在集群 c1 中 该集群包含同一节点上的 2 个实例 时 会话复制可以正常工作 3 当部署在集群 c2 包含两台 C
  • 配置 Jest 模仿 webpack 解析 root 和解析别名

    我正在努力使用 Webpack 和 Jest 建立一个项目 目前 Webpack 解决了配置导致 Jest 测试复杂化的问题 在我的 webpack 配置中 我设置了以下选项 resolve root dirname src extensi
  • Gnu 时间和格式化输出

    我想使用 gnu time 来测量一些小 c 程序的运行时间 人 中写道 f FORMAT format FORMAT Use FORMAT as the format string that controls the output of
  • 将 hadoop fs 路径转换为 ​​EMR 上的 hdfs:// 路径

    我想知道如何将数据从 EMR 集群的 HDFS 文件系统移动到 S3 存储桶 我认识到我可以直接在 Spark 中写入 S3 但原则上 之后执行它也应该很简单 到目前为止 我还没有发现在实践中这是正确的 AWS 文档建议s3 dist cp
  • Instagram 是否于 2018 年 3 月 30 日更改了 API 速率限制?

    我使用一些自行开发的脚本来获取有关我的帖子和关注者的信息 最近我发现 Instagram 更改了我的应用程序的速率限制 我在标题中看到以下信息 x ratelimit limit 200 我了解了 Instagram 博客和页面的变化 但发
  • 如何在 Android 应用程序中显示日历 UI? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在我的应用程序中使用日历 如下图所示 我希望在我的活动中使用此日历 UI 我怎样才能做到这一点 呵呵 我们之前已经这样做过 请参阅
  • Excel 中的单元格“数字存储为文本”

    我有一个 C 程序 它获取旧报告的文本文件并映射到 Excel 工作表 但对于交易单元格 它输出为 数字存储为文本 这不允许 任何格式 我们想要显示 1 000 00 但它仅显示为 1000 有什么办法可以得到这种格式吗 这些列是余额和金额
  • Bootstrap 3.3.5 中的多级下拉菜单

    我有以下 HTML 代码 并根据 Bootstrap 文档中的标记将其构建为我认为应该实现的方式 div class navbar collapse collapse ul class nav navbar nav li class act
  • Perl - 将数组元素句子与变量进行比较

    我使用 grep 返回临时F 文件和 arrayWarning 之间不匹配的数组 my c grep map 1 temporaryF arrayWarning c 里面有很多行 例如 Sun Sep 30 00 05 55 fibre c
  • 如何在 r 中没有警告消息的情况下知道 lme4 中模型是否收敛或未能收敛?

    重复的 例如 我可以通过以下方式评估这个多级模型是否是单一拟合 使用isSingular 功能 同样 有什么方法可以知道这个模型是收敛还是失败 我的顾问说 如果模型无法收敛 则不会估计标准误差 然而 尽管以下未能收敛 但似乎估计了标准误差
  • 根据当前配置,没有映射 Doctrine ORM 实体

    我有一个可疑的问题 我有一组现有的带注释的 Doctrine 实体 它们已在 Symfony2 Doctrine2 项目中成功使用 然而 我目前正在将该项目的一些核心功能隔离到它自己的 Web 框架独立库中 但我似乎无法让这些实体正常运行
  • 如何从 Swift NSURLSession 获取数据?

    例如 我有以下代码 let task NSURLSession sharedSession dataTaskWithURL url completionHandler data response error gt Void in var d