代码编织梦想

本节内容

  1. Codable 解码以解析json
  2. swift 的异常处理方法

知识点

  • Codable 可编码

A type that can convert itself into and out of an external representation.

一个可以将自己转换为和脱离外部表示的类型。

通常是创建一个实例对象,在实例对象中创建与json文件相对应名称和类型的实例变量(实例变量可以少于json文件中对应名称的个数)。然后,将json文件解码成对应的实例对象,然后就可以通过实例对象进行全局访问。

  • try 异常处理

Swift2.0 后加入了新的关键字 try? , 如果不想处理异常那么可以用这个关键字,使用这个关键字返回一个可选值类型,如果有异常出现,返回nil.如果没有异常,则返回可选值。

- try 出现异常处理异常

- try? 不处理异常,返回一个可选值类型,出现异常返回nil

- try! 不让异常继续传播,一旦出现异常程序停止,类似NSAssert()
// 三种方法处理异常
// 方法1 推荐 try? 如果解析成功就有值,否则为 nil
let list1 = try?

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/echosun1996/article/details/111083354

iOS 边学边记 深入了解weak底层实现详解-爱代码爱编程

iOS开发者都知道,当一个对象被释放时,所有对这个对象弱引用的指针都会释放并置为nil,那么系统是如何存储这些弱引用对象的呢?又是如何在一个对象释放时,将这些指向即将释放对象的弱引用的指针置为nil的呢?下面我们通过分析SideTable的结构来进一步了解内存管理的弱引用存储细节。 weak结构 在runtime中,有四个数据结构非常重要,分别是Sid

关于iOS系统你知道多少???-爱代码爱编程

首先来说下ios的历史吧!!! iOS系统诞生于2007年1月1日的Macworld上,当天公布了IOS的初代系统,当时它的名字是iPhone OS X,同时颠覆手机行业的iPhone也横空出世了,它创新的多点触控操作以及极简的用户体验都让全球消费者为之疯狂,3.5英寸的480X320分辨率的大屏幕也远远超过当时手机行业的平均配置,单Home键让 当时标配

iOS 边学边记 Weak的实现(三)-爱代码爱编程

正文 接 Weak的实现(二) 3 设置弱引用标志位 inline void objc_object::setWeaklyReferenced_nolock() { retry: //去对象的isa指针 isa_t oldisa = LoadExclusive(&isa.bits); isa_t newisa = ol

iOS开发实战-第4节-进一步完善微博页面-爱代码爱编程

本节内容 为上一节创建的微博页面增加插图 知识点 为重复的方法新建一个函数,抽象出创建图片的方法。 按照 4:3 的宽高比切分图片。 使用 Divider() 绘制一个细分割线 Post 结构体中仅保存于数据有关的内容,而将View相关的只读属性存放在extension中。 添加评论和点赞按钮。 修改TableView默认样式,不显示默认的

iOS底层探索--内存管理(下)-爱代码爱编程

iOS内存管理(上)简单的说了下retain、release和dealloc。不过关于内存管理还有个比较重要的东西autoreleasepool,也是兄弟们常说的自动释放池作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:196800191,加群密码:112233,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试

IOS 中json解析异常Domain=NSCocoaErrorDomain Code=3840之诡异事件-爱代码爱编程

前言 就在今天遇到一个很诡异的技术问题,Unity调用Quick苹果SDK支付。Quick 支付需要游戏(Unity)传入一些数据到原生OC中,格式是json,在OC中打印的日志看着数据是没问题的,但是解析json却一直显示失败 。问题最终还是解决了,用倒推法给大家说一下解决的思路。 场景重现 下面代码是OC中定义的支付方法,void *payD