iOS-脱离接口开发页面

来源:互联网 发布:淘宝申诉海外代购小票 编辑:程序博客网 时间:2024/06/06 03:40

前言:

  • 在前端开发过程中,一直都是依赖于接口的,也就是只有连接接口才能够开发出完整的页面,即整个开发过程其实是串行的
  • 近期,应要求尝试并行开发,特将开发过程写下来分享给大家:

1.根据UI设计稿写出静态页面(不赘述)

2.分析需求与页面展示,与中后台沟通确定后,写对应的model类

 class PersonModel: MTLModel,MTLJSONSerializing {       // 类型建议使用NSString, NSNumber, NSArray, NSDictionary, 等,不建议使用基本类型。       var cardId:String!         var name:String!       var age:String!       var friend:String!       var birthday:String!       //协议方法: 对属性名进行自动转换       static func jsonKeyPathsByPropertyKey() -> [AnyHashable : Any]! {           let dic = [            "cardId": "cardId",            "name":"name",            "age":"age",            "friend":"friend",            "birthday":"birthday"           ]           return dic       }   }

3.脱离接口进行调试:创建若干静态model实例值,或者直接修改model值,对应到不同的界面展示与交互,开发出对应的代码

      // 使用接口数据       if self.modelType == ViewModelType.NoUseModelType{            self.sendRequest()       // 模拟Model数据        }else if self.modelType == ViewModelType.UseModelType{             let model = PersonModel.init()             model?.cardId = "130727198801021627"             model?.name = "张三"             model?.age = "30"             model?.friend = "李四"             model?.birthday = "1988-01-02 11:23"        }

4.对接接口:中后台接口准备好以后,切换回使用接口,在接口数据(rawData)与model之间增加包装方法(wrapper),将接口数据包装为直接可用的model数据。

/** 例子一:   接口数据  :rate = “0.5”   Model数据 :rate = “+0.5%”*/ self.yearLabel.text = "+" rate + "%" /** 例子二:   接口数据  :birthday = "1988年1月2日11点23分"   Model数据 :birthday = "1988-01-02 11:23"  */ let inFormatter = DateFormatter()inFormatter.dateFormat = "yyyy-MM-dd HH:mm"birthday = inFormatter.string(from: time)