您的位置:首页 > 移动开发 > IOS开发

iOS 万能跳转界面方法 (runtime实用篇一)

2016-09-27 17:04 169 查看
在开发项目中,会有这样变态的需求:

推送:根据服务端推送过来的数据规则,跳转到对应的控制器

feeds列表:不同类似的cell,可能跳转不同的控制器(嘘!产品经理是这样要求:我也不确定会跳转哪个界面哦,可能是这个又可能是那个,能给我做灵活吗?根据后台返回规则任意跳转?)

思考:wocao!这变态的需求,要拒绝他吗?

switch判断呗,考虑所有跳转的因素?这不得写死我...

我是这么个实现的(runtime是个好东西)

利用runtime动态生成对象、属性、方法这特性,我们可以先跟服务端商量好,定义跳转规则,比如要跳转到A控制器,需要传属性id、type,那么服务端返回字典给我,里面有控制器名,两个属性名跟属性值,客户端就可以根据控制器名生成对象,再用kvc给对象赋值,这样就搞定了 ---O(∩_∩)O哈哈哈

比如:根据推送规则跳转对应界面HSFeedsViewController

HSFeedsViewController.h:

进入该界面需要传的属性

AppDelegate.m:

推送过来的消息规则

接收推送消息

跳转界面

检测对象是否存在该属性

具体使用和代码: https://github.com/HHuiHao/Universal-Jump-ViewController
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: