自学了一段时间的swift,一直想着写个项目练练手,赶巧公司有这项指标。今天开始着手重构公司项目swift版本的开发。
首先,总结一下今天主要都做了什么:
1.创建swift工程(此处说明,我是创建完工程直接删除系统自带的main.storybord和viewController.swift,也就是纯代码模式开发);
2.利用之前自学swift时写的demo(YCCustomTabBar github地址是:https://github.com/wangyicheng0827/YCCustomTabBar)快速封装tabbar替代系统的TabBar导航;
3.首页也就是'问答'页面简单的cell 布局;
4.数据请求+逻辑处理。这点也是今天卡壳时间比较久的地方。都卡在什么地方呢?其一,引用alamofire来网络请求数据的时候不知道怎么取到data所对应的字典对象,更不用说data里面的数据了;其二,采用Object-C中for-in循环遍历数据给实例数组赋值其对应的model时(model.setValuesForKeysWithDictionary(value),此处value本应该是一个字典NSDictionary类型的);
针对上述4遇到的尴尬最终找到了解决方法:
其一,只引用alamofire而没有引用SwiftyJSON这个第三方;正确做法是导入第三方SwiftyJSON然后在网络请求的地方这么实现:let jsonObj = JSON(response.result.value!);
其二,在循环遍历赋值的时候应该运用SwiftyJSON中的dictionaryObject属性便可解决。
5.tableView.reloadData() 最后在这里卡了一会儿。明明自己请求成功了,打印的数组也有值,可偏偏在tableView的代理方法中数组一直是0,只是因为写代码时遗忘了刷新tableView的数据。权当是给自己的一个小小的'教训'了。
好了,一天的工作就这么多了,感觉自己没做多少东西,可又感觉自己学到了不少东西~本人不常写文章,写的不好的地方见谅!~日后再做修改...
网友评论