Learning iOS D14 2017-11-15(传值,xib内数据的封装)

传值

需求:(list内)给tableview footer内的button增加一个点击事件 调用api(参数id)(api需要提出来)

思路:通过其他api返回的数据获取的id只能在当前代码块使用,所以调用该api写在了对footer view的配置内,这样代码的可读性不高。但是提出去使用这个id放在api内,id的获取有点麻烦。所以我想到定义函数的时候可以设置传入参数的属性这个点。

Learning iOS D14 2017-11-15(传值,xib内数据的封装)_第1张图片


需求:a页面调用接口获取的id需要传入b页面用来调用另一个接口完成查询detail

思路:第一次做页面之间的传值,首先想到了闭包传值。但是由于之前通过函数参数的方法传递ID成功。所以我想到了给b页面的控制器赋一个需要init的值,这个值可以在a页面进行pushVC的时候传入。

Learning iOS D14 2017-11-15(传值,xib内数据的封装)_第2张图片

这里定义的局部变量id 在进入这个页面的时候已经被赋值了 所以在调用api的时候可以直接使用。

Learning iOS D14 2017-11-15(传值,xib内数据的封装)_第3张图片

注意:因为是先完成页面的加载再进行数据的加载,所以在调用显示data的api的时候需要reload() 否则容易出现nil

因此在使用返回的数据的时候要使用 if xxx != nil { }

xib内数据的封装

根据不同需求简洁的显示xib内数据 (调用函数的时候传入相应的参数)

Learning iOS D14 2017-11-15(传值,xib内数据的封装)_第4张图片

对一些特殊的需求可以更改约束 constant

你可能感兴趣的:(Learning iOS D14 2017-11-15(传值,xib内数据的封装))