Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Cocoa核心数据和纯文本文件_Objective C_Cocoa - Fatal编程技术网

Objective c Cocoa核心数据和纯文本文件

Objective c Cocoa核心数据和纯文本文件,objective-c,cocoa,Objective C,Cocoa,我正在编写一个非常简单的应用程序,它可以从指定的文件读取数据,并将获取的数据填充到NSTableView。该文件是一个纯文本文件,其中每行表示一个对象(我需要解析该文件)。我想使用核心数据,我的问题是什么是Cocoa方法 我的第一个想法是解析文件并为表示一行的实体创建实例。我不确定这是不是最好的解决办法。稍后,我将写出对文件的更改(保存后?或在给定时间后自动执行?) 我的配置是Mountain Lion和最新的XCode 具有多个属性的单个实体听起来不错。如果您有一个属性,该属性包含合理数量的数

我正在编写一个非常简单的应用程序,它可以从指定的文件读取数据,并将获取的数据填充到
NSTableView
。该文件是一个纯文本文件,其中每行表示一个对象(我需要解析该文件)。我想使用核心数据,我的问题是什么是Cocoa方法

我的第一个想法是解析文件并为表示一行的实体创建实例。我不确定这是不是最好的解决办法。稍后,我将写出对文件的更改(保存后?或在给定时间后自动执行?)


我的配置是Mountain Lion和最新的XCode

具有多个属性的单个实体听起来不错。如果您有一个属性,该属性包含合理数量的数据,并且在多个“行”上重复,那么它将是另一个实体的候选

是的,实体的每个实例将代表表中的一行

就个人而言,我要么根据用户的请求保存,要么不使用保存按钮保存每个更改。您的问题是内存存储和磁盘存储之间的转换。使用纯文本文件没有帮助(不过,根据文件格式,可以使用
NSFileHandle
编辑文件中的各行)

一般来说,使用更好的格式(如XML或JSON),然后使用框架(如RestKit),它将为您完成所有解析和映射(在您指定映射配置之后),仍然更有意义


您还可以使用将数据连接到
NSTableView

对象有多少个属性?为什么要写回文件(您想使用核心数据进行内存缓存?)?该实体非常简单:它有6个属性。我计划将解析的实体存储在内存中。该应用程序将是一个基本的CRUD应用程序,用户可以添加和删除条目,这就是我想写回文件的原因。我必须使用纯文本文件,因为其他应用程序仍在使用它。没错,当用户进行任何更改时,应用程序应该将数据保存在内存中,稍后将写入磁盘。有一件事我还不完全理解:我通过cocoa绑定将内存中的数据绑定到各种GUI元素,但是我怎样才能生成这些行,以及如何将它们提供给核心数据?可能源文件中的每一行都代表一行,并且有一个设置的格式,所以您需要通过它进行解析(
NSScanner
)并创建和更新实体的实例。现在,我正在努力编写文件。当程序启动时,我读取整个文件并解析每一行,但在保存之前,我必须检查文件是否更改。(因为另一个客户端可以更改文件)。我不知道该如何在Cocoa中执行此操作,在我写出之前再次读取文件?使用
NSFileManager
获取文件属性并检查上次修改的日期。附言:请接受正确的答案/支持有帮助的答案。谢谢