Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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
Macos 在我的应用程序中包含静态信息的最佳方式是什么?_Macos_Cocoa - Fatal编程技术网

Macos 在我的应用程序中包含静态信息的最佳方式是什么?

Macos 在我的应用程序中包含静态信息的最佳方式是什么?,macos,cocoa,Macos,Cocoa,我目前正在开发我的第一个小型桌面菜单栏应用程序(macOS,Swift 3)。它需要访问 a) 单词列表(想想单词词典,每种支持的语言有1k-5k个单词) b) 结构化数据列表(想想简单的结构,~500) 我目前正在考虑,是否在代码中构建它们——也许每种语言都有一个工厂类。或者将它们作为json包含在我的应用程序中,并在运行时进行解析。或者构建一个SQLite文件并在运行时读取,尽管这种方法在源代码控制中很难区分 由于我是这个平台的新手,我想知道是否有一种我不知道的更好的方法,或者可能是性能方面

我目前正在开发我的第一个小型桌面菜单栏应用程序(macOS,Swift 3)。它需要访问

a) 单词列表(想想单词词典,每种支持的语言有1k-5k个单词)

b) 结构化数据列表(想想简单的结构,~500)

我目前正在考虑,是否在代码中构建它们——也许每种语言都有一个工厂类。或者将它们作为json包含在我的应用程序中,并在运行时进行解析。或者构建一个SQLite文件并在运行时读取,尽管这种方法在源代码控制中很难区分

由于我是这个平台的新手,我想知道是否有一种我不知道的更好的方法,或者可能是性能方面的考虑使上述方法中的一种变得无用


和往常一样,提前谢谢各位

您列出的解决方案可用于此任务。然而,我认为对于此类任务,最好的解决方案是使用CoreData,在这里可以存储单词列表和结构化数据,如果需要,还可以在它们之间建立关系

我会使用json方法。创建一个工厂类来访问带有语言参数的数据(如
getWordsForLanguage()
),并延迟加载json(例如第一次访问时加载一次,之后保存在内存中)。这不是一个答案而不是注释吗?我不建议将核心数据用于此任务。核心数据是为重型设备设计的。对于这样一个简单的任务,它不会给您带来明显的性能优势,只会带来更复杂的设计,更难维护和修改。