在 swift 2 中解析 json 对象

2024-01-19

我是 iOS 和 Swift 编程新手,我正在尝试创建一个解析 json 对象的方法

我的json如下

{
 status : true;
 data :[
   "url" : "",
   "startDate" : "",
   "endDate" : "",
...
]
}

我的代码是这样的

进口基金会

class SplashResponse {

    let STATUS              = "status";
    let DATA                = "data";

    let URL                 = "Url"
    let CONTACT_NO          = "ContactNo";
    let SPLASH_IMAGE        = "SplashImage";
    let SPLASH_ID           = "SplashId";
    let TITLE               = "Title";
    let NO_VIEW             = "NoView";
    let IS_ACTIVE           = "isActive";
    let START_DATE          = "StartDate";
    let END_DATE            = "EndDate";


    var status : Bool

    var url : String
    var contactNo : String
    var splashImage : String
    var splashId : Int
    var title : String
    var numOfViews : Int
    var isActive : Bool
    var startDate : String
    var endDate : String

    init(data : NSDictionary){

        status      = data[STATUS] as! Bool;

        if (status == true) {

            if let item = data[DATA] as? [String: AnyObject] {

                url         = item[URL] as! String;
                contactNo   = item[CONTACT_NO] as! String;
                splashImage = item[SPLASH_IMAGE] as! String;
                splashId    = item[SPLASH_ID] as! Int;
                title       = item[TITLE] as! String;
                numOfViews  = item[NO_VIEW] as! Int;
                isActive    = item[IS_ACTIVE] as! Bool;
                startDate   = item[START_DATE] as! String;
                endDate     = item[END_DATE] as! String;

            }
        } else {

            url = "";
            contactNo = "";
            splashImage = "";
            splashId = -1;
            title = "";
            numOfViews = -1;
            isActive = false;
            startDate = "";
            endDate = "";
        }
    }
}

我遇到以下错误

Return from initializer without initializing all stored properties

您的问题是编译器不知道如何初始化您的值,如果if let item = ...条件失败。

您有两种选择status条件,但在内部true分支您创建一个没有 else 分支的新条件,因此编译器正确地抱怨未初始化的存储属性。

我的建议是first安全地打开data[DATA]不创建新范围,然后使用这些值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 swift 2 中解析 json 对象 的相关文章

  • ios 8 核心数据崩溃

    保存时 CoreData 发生崩溃 2014 09 16 09 51 58 273 My app 2678 105246 Terminating app due to uncaught exception NSInvalidArgument
  • 删除后台 moc 中的对象然后在主 moc 中刷新它会导致 NSFetchedResultsController 更新崩溃

    我遇到了一个NSObjectInaccessibleException我无法理解 Terminating app due to uncaught exception NSObjectInaccessibleException reason
  • 使用 JavaScript 从 URL 变量读取来加载不同的 CSS 样式表

    我试图在我的 WordPress 博客上使用两个不同的样式表 以便在通过 Web 访问页面时使用一个样式表 而在通过我们的 iOS 应用程序访问博客内容时使用另一个样式表 现在 我们将 app true 附加到来自 iOS 应用程序的 UR
  • 在 Swift 中将 Int 转换为 UInt32

    我正在制作一个 Tcp 客户端 因此使用CFStreamCreatePairWithSocketToHost它期望第二个参数为 UInt32 这是我正在尝试做的事情的示例 func initNetwork IP String Port In
  • 如何在 Swift 中使用 CGFloat?

    var posinonY Float Float y Float pipeDown size height Float verticalPipeGap pipeDown position CGPointMake 0 0 Float posi
  • Firebase 连接管理器应仅返回一个结果

    我正在关注位于以下位置的文档 https www firebase com docs ios guide offline capability html section connection state https www firebase
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • Swift 对异步编程有什么语言级别的支持(如果有)?

    当应用程序必须通过不可预测的网络 例如智能手机应用程序 进行通信时 异步编程对于响应式用户界面来说是必须的 用户界面必须保持响应 同时等待结果从互联网上某处的服务器返回 在大多数语言中 应用程序程序员必须实现自己的状态机 可能使用闭包 来响
  • Swift 如何设计 UIWebView 在 Story Board 中自动调整全屏大小

    我在 StoryBoard 中设计了一个 320x500 的 UIWebView 但是当在 Iphone 6 Plus 模拟器中运行时 我想要这个 webview 全屏或随设备屏幕缩放 如何在故事板中制作它 我在 ViewDidLoad 中
  • 在WKWebview中设置useragent

    如何在 WKWebView 中设置自定义用户代理字符串 我正在尝试嵌入我的应用程序的版本 以便我的服务器端可以看到可用的功能 我找到了以下方法 let userAgent MyApp 1 33 7 request setValue user
  • 在 Swift 中检查一个数组是否包含另一个数组的所有元素

    我想为数组编写一个扩展来检查一个数组是否包含另一个数组的所有元素 在我的用例中它是字符串对象 但我一直得到 Cannot convert value of type T Generator Element to expected argum
  • 在模拟器中运行应用程序时删除本地通知的 iOS 权限警报

    我正在尝试编写验收测试KIF https github com kif framework KIF在一个很早就要求本地通知权限的应用程序上 不幸的是 由于 iOS 模拟器安全原因无法使用 KIF 自动接受 iOS 权限警报 https gi
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • Cognito/IAM 策略和 S3 获取对象

    我正在尝试将 S3 和 Cognito 集成到我的 iOS 应用程序中 但到目前为止尚未成功 我相信该错误与我针对 Auth 和 Unauth 用户的 IAM 策略有关 所以这是我的政策 Version 2012 10 17 Stateme
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star

随机推荐

  • 使用实体框架 6 返回具有最大列值的记录

    试图获得最大记录datetime价值ReceivedDateTime列 但是数据集应该经过一些预先过滤Id列 不是唯一的 是这样解决的 using var db new SystemEntities var records db Table
  • Symfony2 更改树枝词法分析器

    我想更改 symfony2 中的默认树枝词法分析器 我创建了自定义控制器 为其设置服务 设置服务路线 将 twig lexer 注入到服务中 在我的控制器的构造函数中更改词法分析器 当我不使用插值时 结果呈现良好 但词法分析器仍然没有改变
  • Python 中元组字典键匹配的一个元素

    如果我有一个字典 例如 foo foo 45 5 bar 34 3 我如何检查该元组的一部分 if foo in foo should be true pass if 45 in foo also should be true 或者其他一些
  • WSO2 Synapse:设置 URL 参数

    我正在尝试做一些看似简单但无法使其发挥作用的事情 基本上我希望 WSO2 API 管理器向 REST 调用添加 URL 参数 设置和问题 我安装了 WSO2 API 管理器 我还有一个 Tomcat 运行着一个名为一些servlet它只是记
  • ARM Cortex-M4 中不同情况的条件汇编分支指令持续时间是多少?

    我试图确定下面简单延迟循环的时钟周期的确切持续时间 loop subs r2 r2 1 bne loop The Cortex M4 技术参考手册 https developer arm com documentation ddi0439
  • 如何使表格的某些列固定,某些列可滚动?

    我正在使用 twitter bootstrap 3 开发一个网页 有些表格不适合我的页面边距 它们溢出来了 所以我想创建一个像 Excel 电子表格一样工作的结构 最左边的两列 蓝色区域 将被固定 其余的列将尽可能显示 如果用户向右滚动表格
  • 查找 WPF 窗口的句柄

    Windows 窗体有一个属性 win1 Handle 如果我记得的话 它返回主窗口句柄的句柄 有没有等效的方法来获取 WPF 窗口的句柄 我在网上找到了以下代码 IntPtr windowHandle new WindowInteropH
  • Python 2 和 3 中的分块字节(不是字符串)

    事实证明这比我预期的要棘手 我有一个字节字符串 data b abcdefghijklmnopqrstuvwxyz 我想分块读取这些数据n字节 在 Python 2 下 只需稍加修改即可实现这一点grouper食谱来自itertools文档
  • Golang 中奇怪的类型定义语法(名称,然后类型,然后字符串文字)

    我一直在尝试找出如何使用 mgo Go 的 MongoDB 驱动程序 我遇到了这个结构声明 type Something struct Id bson ObjectId id omitempty Name string 我不太明白第一个元素
  • 同步(new Object())的用例

    在最近的一次answer https stackoverflow com a 16709249 823393我建议可以实现的功能volatile by synchronizing在包含我们需要的变量的对象上volatile 提问者无权访问代
  • 你能找出 Django Model 实例是否“脏”吗?

    我真的很喜欢 SQLAlchemy 的功能 它允许您查看对象是否脏 自从数据库检索对象以来或上次保存对象后是否已被修改 是否可以从 Django ORM 中找到此信息 请注意 这与Django 中的脏字段 https stackoverfl
  • 使用 ASP.net 下载和上传图像

    在我的网络应用程序中 我需要能够允许用户上传和下载他们的图像 在 ASP net 中如何做到这一点 我希望用户能够登录 我已经完成了 并能够将图像上传到他们的帐户 稍后 我希望他们能够下载它们 Thanks 如果图像的大小合理 例如小于几
  • 如果线程列表中的任何线程发生异常,则中断所有线程

    我正在使用 invokeAll 调用线程列表 AFAIK invokeAll 仅当所有线程完成其任务时才会返回 ExecutorService threadExecutor Executors newFixedThreadPool getT
  • 如果wireshark无法识别某些类型的协议(RTSP、RTP、RTCP),如何强制其破译它们?

    我正在尝试根据Java实现RTSP协议http www csee umbc edu pmundur courses CMSC691C lab5 kurose ross html http www csee umbc edu pmundur
  • 使用 Google 跟踪代码管理器跟踪事件

    自从开始使用 Google 标签管理器以来 我一直在尝试学习一些 Javascript 进行分析 目前 我想跟踪退出链接并使用以下自定义 html 片段 发射规则是 event equals GAevent 然后我尝试了一个触发规则 url
  • 整数后缀J是什么意思?

    我有以下来源 int main 000J 使用 gcc 4 8 4 编译时不会出现错误 我知道有 L 或 U 之类的后缀 但我没有找到任何关于 J 的信息 那么它有什么作用呢 我收到警告 虚数常数是 GNU 扩展 The J后缀是 GNU
  • 如何设置队列生产者超时?

    我正在测试WebLogic 10 3 1 JMS 但有一个问题 我的测试步骤 启动WebLogic服务器 启动 JMS 客户端 客户端将对象发送到 WebLogic JMS 服务器接收该对象 停止 WebLogic 服务器 将另一个对象发送
  • 我可以使用具有多个源和多个目标的 Gulp 任务吗?

    我的 gulpfile js 中有以下内容 var sass paths httpdocs site1 media sass scss httpdocs site2 media sass scss httpdocs site3 media
  • mysql_fetch_array 且仅字符串数组键

    当我尝试 print r mysql fetch array 的 sql 查询时 我得到这个结果 Array 0 gt 1 id gt 1 1 gt 2011 publish date gt 2011 2 gt Posted status
  • 在 swift 2 中解析 json 对象

    我是 iOS 和 Swift 编程新手 我正在尝试创建一个解析 json 对象的方法 我的json如下 status true data url startDate endDate 我的代码是这样的 进口基金会 class SplashRe