“老外学中文“-开发进度

完成作品重要,把这个过程记录下来也许同样重要。


2012.7.8-7.9

     完成程序的UI布局。主要是storyboard和segue的设计。

7.10-7.11

     使用测试数据,测试数据在界面上的显示。调整单元格的样式。

7.12-7.13

    使用TTS控件,完成汉字发音的测试。发现控件的一个bug(联网状态下进行语音合成后,断开网络再合成会造成程序在start函数处崩溃)。

这个bug在控件本身的演示demo中就存在。

    由于控件中包含的库文件使用的是ios4代码,不支持automatic reference counting的功能,所以需要在build setting中将该功能关闭。

    进一步理解delegate的含义,并学会自己定义delegate。

7.16-?

   采用xml文件存储数据。使用coredata和tableview进行交互,打通数据在界面之间的传递通道。使用样本数据进行测试。


7.22 终于会初步使用coredata来存储和提取数据了。  

1. coredata 的使用花了很长时间。

       边看着斯坦福的视频,边学习coredata的使用。发现视频中的代码在运行到performFetch的时候就运行不下去了。同时如果继承coredataviewcontroller会提示编译错误

原因还没有找到。

   决定换一种实现思路。学习ios4教材中coredata的sample code,初步完成了功能。

同时理解了代码中,为什么要把coredata相关的实现部分放到appdelegate文件中,而不是放到具体的viewcontroller中。这是为了代码复用的需要,如果还有另一个不同的viewController需要使用coredata的函数,就不必在自己的实现文件中重新定义了,只需要调用appdelegate中的函数就可以了,也许这就是appdelegate文件存在的意义。

2.临时变量在初始化时要赋值nil。

    NSError *error;

    self.result = [self.managedObjectContext executeFetchRequest:requesterror:&error];

    if (error) {

       NSLog(@"error is %@", [errorlocalizedDescription]);

    }

调试时,一直发现执行到NSLog处之后就不能往下执行。查了很久才发现是error应该赋值为nil。

3. navigator 到另一个视图,然后按下back回到当前视图的时候,当前viewController中声明的变量,如果没有赋值有可能是一个乱指针,造成debug程序的时候,程序停止在某一行然后不往下执行,也看不到出错信息。与2问题相同,此时都要考虑在变量初始化时赋初值的问题。


8.10 基本完成word 和 sentence的功能,只剩下review的功能了。

这段时间主要完成的事情。

1.和合作者谈条件的事情,还未圆满解决。蛋糕都没有,就要想着怎么分了,的确没有经验。

2.基本掌握,如何从coredata中存储,提取,查找,更新数据。

3.@property和@synthesize 的具体实现,了解@property(retain)的含义,并且要注意自己写的setter函数,对于新指针的retain和对于旧指针的release,避免内存泄露。

4.给代码加上source controll,这对于版本的维护有帮助,也方便自己查看修改了的代码。

5.尽量把公共的部分,例如speaker,coredata相关的 等,放到appdelegate中实现,并给出接口,这样在各个viewController中就可以方便的使用了。


8.12 完成各界面之间的串接及start study

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值