一个iOS初来新公司的经历&思考
前言:
今天是第二天,在此写下本文,此文会每个工作日
进行更新,周期大概一个月吧~
为什么没有第一天呢,因为第一天一整天都在看代码,熟悉代码,揣测上一任的心思......
离开重庆好美家网络传媒有限公司,进入了手执,不经有些无聊的感慨: 人,终究是要生活的~
之前也有自己的计划,但是往往都会应了那句很俗气的话,既然计划写了总是被阉割,那么在此写上一个后续吧~
7.18
先说说自己今天干了什么吧:
在修正这些bug中也遇到了一些问题:
-
对于
Masonry
框架使用不是很熟悉。这导致了一个逻辑bug,1-2分钟想思路、2-3分钟改代码、最终5分钟左右便可解决
,但是一个页面布局、新增元素,却花了我很长的时间
,这其中固然有对 新项目代码不熟悉 和 我之前都是xib结合代码进行UI绘制 的因素,但不可否认的是,对于Masonry
的使用并不够熟练,我需要单独抽一个时间出来进行练习,直至熟练应用。初步预定星期天--3小时
-
在更改bug之前,没有做到仔细阅读代码,固然我十分不想看注释不明的代码。这导致了我
更改一个bug花了更多的时间
,也许看上一任的代码,你很难受,但是,总归比花更多的时间在一个可能并不耗时的bug上要好 -
一整天的精神集中,像海绵一样吸收着这个过程的每一滴营养,哪怕目前来说,更多的是痛苦。这样的集中,是好事,但却带来了一个
可怕的副作用
,我感到了疲倦,差点都不想写这篇博文、差点就不想坚持学习、差点就想吹吹空调、躺床就睡。不积跬步,怎至千里?
没有无缘无故的成功,只有无缘无故的失败......
7.18 end......
7.19
OK,老规矩,今日的工作进度:
又遇到了什么情况呢:
-
相对于第一天的进度而言,今天的效果有点不尽人意,但也在情理之中,毕竟想要完全接受一个中大型项目,短期内是不可能的,但凡是涉及到了
业务流程
,那么修改的时间将会成倍增加
,但同样也存在问题,似乎有点被项目给懵住
了,脑子变得有点僵,有些问题,真的静下来想想,并不难,基本都能快速定位问题原因,针对情况而debug
-
其实今天还有一个bug花了很多时间,因为最终还是没改出来,所以没有列出来。
bug有点奇怪,利用支付宝在app中充值,支付宝生成订单扣费了,但是app内余额却没有增加
。由于之前并不熟悉支付宝的相关操作,所以下午虽然花了时间,但却并没有起到预期的效果,如果有大佬能够支招的话,感激不尽。 -
今天遇到了一个于大家来说,经常碰到的一个问题,那就是 模型嵌套模型,也许会觉得,那不是一样的吗,直接正常定义就行了呀,但是那是对于都是
字典
的情况,如果是嵌套数组模型,常规直接使用就不行了。具体的解法,有兴趣的可以看看链接,大佬自动绕过~ -
今天是第三天,好消息是bug似乎快改完了,坏消息是剩下的都是超级难啃的骨头
[至少目前对我而言是这样]
~,任重而道远呀,路漫漫其修远兮,吾将上下而求索~~
7.19 end......
7.20
老规矩,上今日任务:
来来来,吃瓜了,今天的情况老大了,十分郁闷:
- 利用支付宝进行余额充值,支付宝生成订单扣费了,App余额却没有增加,bug定位——支付完成之后,没有进行回调
- 具体怎么解决的,说来实在话长,十分、非常、强烈建议战斗人员移步至《iOS 支付宝支付不进回调的坑&填坑过程》进行详情了解,你会看到程序员如何日常和自己斗智斗勇的~
- 同时,今天也要感谢 @
雨木木同学
,给我的旧版SDK,毕竟我自己下载的SDK导入的时候,会报出万恶的Link错误
...... - 有时候有些问题,网上是找不到答案的,就连官方文档也不一定有,那么,是时候表演真正的技术了,大胆的各种尝试吧,充分的想象每一种可能......
7.20 end......
7.23
额,公司搬迁了,服务器也搬过去了,所以今天没改bug,那么把上周六的补上吧:
- enmmmm......我周六不是懒了忘写日志了,是当天搬公司,下午就开始弄了,上午忘记了,没有把上面的图从公司电脑截下来,所以就没写,不是故意的
(小声bb)
- 当天的bug也是改的不多,只是一个支付宝支付失败的问题花的时间较长
(毕竟之前没接触嘛hahahaha...)
- 对于这个bug的分析也在上图中展示出来了,就目前的经验也就这个思路
(有大佬愿意多指点一下,也是极好的)
,日后接触多了,希望能再优一点(最好就是不用优,0bug)
。
7.23 end......
7.24
enmmmm,今天也浪费了不少时间在无用功上:
- 值得高兴的是,今天是上班的第六天,将用户端的bug数改到只剩下3个了
(至少明面上只有3个了)
,但难的是剩下的bug中有一个超级bug(或者说是需求~~)
,就是上图中的bug-1047
- 今天部分时间在review自己更改的代码,发现有一个bug仍然存在,但是目前我并不知道为什么会仍存在,按照正常逻辑,是不存在问题的,暂且放置
- 上图的
bug-1049
,也花了不少时间,但最终却是浪费时间,因为我和安卓的大兄弟沟通后,发现安卓端也存在问题,最终也核实了是接口的问题(内心复杂~~~)
- 今天下班的时候,遇到老板,老板问我情况如何了,这周能上架吗?
我:还剩3-4个bug了,就是有一个bug是个大麻烦~~~ - 补一个
Masonry
的基本使用,Demo传送门,效果图如下(只是简单使用,唯一有用处点的就是键盘监听不被遮挡了)
:
Masonry.gif
7.24 end......
7.25
改bug心累呀......什么时候是个头~
今天主要的精力都放在了购物车的本地缓存上面了:
- 期间,自己思考 + 请教各位师兄 + 网上浏览,最终得出,还是数据库靠谱~~
- 为了不破坏原来的项目,开始写demo,写到了晚上1点多
(太菜了呀,惨不忍睹...)
~~所以,昨天并没有更新博文(实在是来不起了~~)
,于今日7.26补上。 - 利用FMDB、进行简单的数据库语句封装,模拟实现购物车的缓存
-
首先,我们打开购物车,为空,此时去添加商品到购物车:
ShopCart1.gif -
退出app、关闭进程后,再次进入,读取数据库数据:
ShopCart2.gif - 录制的GIF图、数据不一致,是因为这是多次操作了,并不是数据存储错误哈,意思呢,就是这么个意思。
- 想要看具体的讲解和Demo的话,请移步到《iOS 购物车本地缓存基于FMDB的实现&Demo》,也希望各位道友多多讨论,给予指点,共同进步。
7.25 end......
7.26
好了,没有最心累,只有更心累~~~
- 今天本来是要把购物车在项目里完善了的,结果被叫着先改一个需求,然后上架,寻思着吧,一个表格的改动,应该能改完,然而,我还是太年轻......
- table的cell里嵌套一个collection来放置一组可能存在的图片,其实很好做的,然而,真的跟进去改的时候,
我的马鸭~~!
所有的model文件全放在一个folder下(为什么提到model呢,因为新增接口返回字段,用来放置那一组可能存在的图片,所以需要新建对应模型)
,这里我不得不再次吐槽上一任...然而并没有结束,Controller里的代码也是一塌糊涂,但是最让人绝望的是,cell的高度是写~!
死~!
的~!
没有MVVM
,没有ViewModel
,MVC
都没写好...现在要加东西,还是设计到可能有,可能没有的情况~~难受 - 今天在公司,把简单一点的,期望能行的方式试了,不行...意味着,我可能要写个ViewModel了,哎,难受呀
(其实,一早我就不改试这试那的,直接ViewModel就完事的,就是怕麻烦,然而走到最后,还是要ViewModel,何必呢?也算是个教训吧,当你有可行方案的时候,应当just do it,做的同时或者做好了之后,有更优的方案或灵感,再记下便可)
。 - 好了,要睡觉了,明天写
ViewModel
,再把相关的东西修改了,估计就差不多了,后天写购物车缓存
,还有一个顽强的bug商品详情页面,图片显示混乱
,对于这个我决定将上任的代码删了,重写,顺着思路实在是改不下去了......
7.26 end......
罪过呀,几天没更了......
8.6
终于,在8月3号,改好了目前所有的bug,半个月了,比预期快一点,但还是很不满意,走了很多弯路~~
今天,已经打包去给苹果审核了,期间遇到的问题真挺多的(真正意义上的第一次打包上架...囧...)
......
好好数落数落干了什么吧:
-
7.31
商品详情页 ——— 图片加载错乱、图片被压缩、拉伸
Bug追踪:SDWebImage是异步加载、frame计算错误
Bug解决:表视图作为图片容器、使用GCD控制加载顺序、重写逻辑模块
耗时:较长……
耗时原因:
1、主要是犹豫了,没有果断重写,还有开始没注意到线程异步的问题…只以为是frame计算错误的问题,轻敌了呀~~
2、代码是真的有点乱……删掉了100行左右代码
-
8.3
今天做了一些小的调整
1、 首页增加刷新状态、增加底部提示语
2、日用百货调整界面,增加“商家热卖”,铺货状态更改背景色
3、商品详情购物车 与 商铺内购物车之间关联冲突,彻底完善购物车
4、商铺内 搜索栏置顶后不可点击进行搜索
- 主要还是解决购物车交互的冲突,再就是第四点,bug原因是,搜索框划至顶部之后,处于了nav的下层,无法响应点击,使用了另一个搜索框替换,监听原框frame变动到达一定地步时hidden
(并且处于不可交互状态)
,nav上的显示(并且处于可交互状态)
-
8.6
主要还是在打包这一块花时间了
686 任务:接口“获取附近的店铺”返回参数变更
687 任务:接口“分类查找店铺”返回参数变更
690 任务:接口“相似好店”返回参数变更
691 任务:接口“收藏店铺列表”返回参数变更
App 3.5.4 版本打包提交iTunes进行审核发布
- 原因是,之前的证书有些失效了,我又没有权限创建证书,所以比较烦躁,耗时较长,当然也有这是第一次打包上架的原因
- 好了,大家可能会觉得为什么只有这么几天?其他时候在干嘛呢...当然是
~
购~
物~
车~
本~
地~
缓~
存~
呀~
~
~
请原谅我之前的愚昧无知
+too young too sample
,以为写出了Demo《iOS 购物车本地缓存基于FMDB的实现&Demo》,就能够不是很困难的嫁接到项目中去,然而enmmmmm......
Sorry。
所以这里我详情的讲讲我的思路《iOS 本地购物车缓存&应用项目中》,结合《iOS 购物车本地缓存基于FMDB的实现&Demo》,如果再想做购物车的话,应该算一种真正的解决方案了。
8.6 end......
8.7
-
惭愧,又review到了失误的地方:
bug-8.7 - 今天没有什么特别的,最多也就算是遇到个label加中划线,没有想象那么复杂
UILabel * strikeLabel = [[UILabel alloc] initWithFrame:(CGRectMake(10, 10, 50, 30))];
NSString *textStr = [NSString stringWithFormat:@"%@元", primeCost];
//中划线
NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};
NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:textStr attributes:attribtDic];
// 赋值
strikeLabel.attributedText = attribtStr;
[self.view addSubview:strikeLabel];
- 针对这个呢,我也不多做解释了,其实我也是看到别人的博文学习过来的,链接在这里,感兴趣的就自己去吧。