@
yiplee 嗯嗯,惭愧呢,这个专题在objc中文的上面看了些。处于有些明白,又有些迷糊的状态。
感觉是通过momd文件和model,context,persistence的几个属性设置好,把对应类的实际内容写在了文件上。
不知道这种想法对不对。
Core data设计三个属性的设置好了,就可以很便捷的存储和提取内容了。
甚至我直接把那些设置的内容从一个初始化带有Core Data的appdelegate里面直接复制出来,就可以直接使用。似乎还导入appdelegate,用他里面的context也可以方便的存取。
所以感觉Core Data的代码虽然很麻烦,但是其实很固定,忽略这一长串的代码的话,存储和读取的操作,还算简单。
@
jianzong 对头,有这种感觉,提取出来的是一个数组,而单个对象应该我的storylist class的实例。但是controller并不知道这是我属于storylist的类,虽然用for storylist in result倒是不报错,但是打印title属性就null。
当存取整合在一个class的情况时,提取数据的方法放在datamanager class里。在这个方法的结尾,返回数组之前,我尝试用for Storylist *story in result(取出的数组),是可以正确的打印每一个的story.title。
在controller里面,title打印不出来,但是单个对象可以打出上面的那一串内容。
所以可以认为在controller里面得到那串数组后,controller并不知道其中的单个对象是什么类,而在datamanager得到result时,他是知道这是一个一串NSObjec/storylist的内容,所以只打印title属性可以完成。
教程似乎都没有着重提醒过,如何转化……请问,一般情况进行转化是进行了什么步骤,不直接返回提取的数据结果?
在提取的result数组里面,在进行一次for storylist in result的遍历,然后把项目添加到另一个数组,可行么?(我在另外一个demo里面看到了这一部分,但是又不完全一样。这串处理在单独的datamananger class中进行,即使处理了,后续的controller里不应该一样不知道么?)
提到说是要进行一番处理,转头翻《iOS编程》,书上把数据存取等的操作,整合在了一个class里的。
他在得到了result数组后,把他直接赋值给了自己的一个属性叫privateItems,也是数组。当外部需要读取就返回这串数组的copy。他的逻辑层,绕了很多。的确,在他的这个privateItems,可以进行对item的数据处理。
不过书上的也很奇怪,他获得这串数组,其中每个对象item,赋值给cell.textlabel.text = [item description]这个方法写在的item的m文件里面,应该属于私有的方法,不应该在外部调用。不知道是不是因为这是重写了父类NSObject的description方法,所以可以这么调用。
写的太多了,也不指望能看完>_<,就一句话,一般的话,如何转化NSObject……