从目前的状况来看,是可以存储日记数据的。
我故意写了一段代码,就是保存按钮所触发的函数,首先是输出click to save!
保存功能
1 然后声明一个diary 模型的对象。对象名字叫mydiary.
2然后将控件中的文字,_textview.text赋值给mydiary的content 属性
将今天的日期赋值给mydiary的w_date属性。
将一个随机数赋值给mydiary的diaryid属性。 ps:这里我认为,可以将日期变成数字然后20170102变成日记的ID。
3在[realm beginWriteTransaction]; ...... [realm commitWriteTransaction] 中间是写入事务。
之后就是查找,将diary 里所有储存的对象赋值给RLMResult 容器。再一个一个显示容器里的东西。
然后目前的进度就是这样。
曾经遇到一个让我心碎的问题,就是无论如何都找不到iphone 模拟器里app 的沙盒地址,找不到realm 数据库文件。
无法用 realm borwser 去查看数据库,测试它。
(现在这个问题得到解决:http://blog.csdn.net/C_calary/article/details/72885952)
参照了这个博客所说的内容,
//打印realm 文件储存位置
RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
NSLog(@"realm存储路径:%@",config);
用这段代码打印出了,realm文件的地址,然后finder直接跳转后可以查看。
就是这样。
目前整个项目集中在viewcontrller.m文件中。有三个函数:
全部函数
viewdidload 初始化函数:三个部分,设置日历,设置文字输入框,设置了保存按钮。
保存按钮触发函数:保存diary 模型对象入数据库realm里
日历点击代理函数:没有东西。
所以现在需要完成最简单的功能就是保存,查看,修改。不管日历多丑,不管diary 对象多么简陋。这方面的功能,还需要继续学习realm数据库
的知识。 现在保存是搞定了,需要的是查看,修改。
保存功能的持续改进:
目前的保存功能,其实还没有完全做好,保存的模型也很有问题。diaryid不可以是随机数。应该是
这样的。然后diaryid修改修改本身会引发一个错误,因为你的模型已经变了。所以这个时候把模拟器里的app删了先。
查看功能:
1viewdidload函数:对于viewdidload 函数初始化时:
将数据库里所有的日记模型日期,成为日历的选中日期。
如果数据库里有当天的日记模型,需要将输入文字控件的text 属性初始化为当天日记模型的content属性。
2日历点击代理函数:当用户点击 日记点击代理函数的时候
(1) 日记控件上会标示用户所选的日期,
(2) 输入文字控件会显示对应日期的日记对象的content 属性。
对于修改功能:
先看一段小代码(是更新的实例代码):
// Update an object with a transaction
[realm beginWriteTransaction];
author.name = @"Thomas Pynchon";
[realm commitWriteTransaction];
// Creating a book with the same primary key as a previously saved book
Book *cheeseBook = [[Book alloc] init];
cheeseBook.title = @"Cheese recipes";
cheeseBook.price = @9000;
cheeseBook.id = @1;
// Updating book with id = 1
[realm beginWriteTransaction];
[Book createOrUpdateInRealm:realm withValue:cheeseBook];
[realm commitWriteTransaction]
点击保存按钮的时候,要判断是否text空? 假如非空那么就是修改,假如空那么就是添加。
日历的调整问题:
我发现日历存在有些月份的数字显示错位,和没有星期几的问题。或许还得开发一个英文版的显示。
总结1.0版本:
1.0版本我认为就是需要最基本的功能,满足最最基本的场景,这个时候还没有需要用到AI的相关技术。
(a)最基本的场景就是,某个人洗完澡之后,想记日记了。于是躺床上掏出了手机,然后点开app,经过过场界面之后,
就看到了一个日历(可以伸缩目前暂未实现),然后一点就可以开始写东西。写完后。。右上角保存按钮。保存或修改了。
(b)第二个基本场景回忆起了一件往事,想看看那一天的内容,或者想知道过去自己做了什么事(统计学意义上的)
是看想看看,今天的或者过去的内容,于是就把日历拉下去,本来就默认今天,然后点击过去的就会显示。
(PS: 但是...格致app它不是这样的,它有许多小方块,每个代表着一个问题,然后点进去,转到了一个纯输入text的view上
然后点键盘上的完成按钮,就返回了,顺带一提,它的插入图片和插入时间标题都是在键盘上。)
然后1.0版本完结之后,即可上线。接下来就是上线的工作,挖掘好知乎的用户先。虽然微博上也应该有许多目标用户。 不过1.0版本
是很难推销的。1.1版本才是具有战斗力的版本。