Objective c 在iPhone应用程序中存储500个NSString数组

Objective c 在iPhone应用程序中存储500个NSString数组,objective-c,ios,arrays,xcode4,nsstring,Objective C,Ios,Arrays,Xcode4,Nsstring,我想制作一个iPhone应用程序,从服务器获取多达500个NSString,然后存储这些数据供以后使用 我相信我的选择是使用NSUserDefaults,将它们存储在SQLite数据库中,或者将它们存储在XML文件中 对吗?500个NSStrings的数组是否很大?我应该使用哪种方法?NSUserDefaults适用于少量应用程序状态和/或首选项 SQLite很好,但是如果您不使用任何RDBMS特性,那么可能会有点过头。在内部,核心数据使用SQLite。如果您对对象图不感兴趣,那么核心数据是难以

我想制作一个iPhone应用程序,从服务器获取多达500个NSString,然后存储这些数据供以后使用

我相信我的选择是使用NSUserDefaults,将它们存储在SQLite数据库中,或者将它们存储在XML文件中


对吗?500个NSStrings的数组是否很大?我应该使用哪种方法?

NSUserDefaults适用于少量应用程序状态和/或首选项

SQLite很好,但是如果您不使用任何RDBMS特性,那么可能会有点过头。在内部,核心数据使用SQLite。如果您对对象图不感兴趣,那么核心数据是难以置信的过度使用,并且有大量开销

XML用于存储任意结构的数据。您的数据是否有任何固有的结构,或者仅仅是500个字符串的列表?如果没有结构,那么XML就是多余的,您必须对其进行解析,这意味着大量的代码

您没有提到的另外两个选项是:plist和NSKeyedArchiver。我把这些留给你去读


就我个人而言,我只想使用一个文本文件,但有一个附带条件,即您没有提供足够的关于数据性质或将如何处理数据的信息。

NSUserDefaults适用于少量的应用程序状态和/或首选项

SQLite很好,但是如果您不使用任何RDBMS特性,那么可能会有点过头。在内部,核心数据使用SQLite。如果您对对象图不感兴趣,那么核心数据是难以置信的过度使用,并且有大量开销

XML用于存储任意结构的数据。您的数据是否有任何固有的结构,或者仅仅是500个字符串的列表?如果没有结构,那么XML就是多余的,您必须对其进行解析,这意味着大量的代码

您没有提到的另外两个选项是:plist和NSKeyedArchiver。我把这些留给你去读

就我个人而言,我只想使用一个文本文件,但有一个附带条件,即您没有提供足够的关于数据性质或将如何处理数据的信息。

您可以使用

NSArray initWithContentsOfFile:

轻松地将字符串存储在文件中。

您可以使用

NSArray initWithContentsOfFile:


轻松地将字符串存储在文件中。

CoreData对您来说可能有些过分,但500个字符串中每个字符串的大小将决定它是否大。500个字符串的数组是否大?由于并非所有字符串的创建方式都相同,因此答案在很大程度上取决于单个字符串的长度。您也可以将其存储为任何纯文本格式,如csv。我认为那将比另外两个有更好的表现。至于字符串,这取决于它们的长度。有一个固定的成本,这是所有你可以计算没有长度。如果您关心这个固定成本,您可以简单地创建一个逗号分隔的长字符串。然后减少每个对象的开销。如果需要进行处理,您可以轻松地将其拆分。CoreData对您来说也是一个选项,但500个字符串中每个字符串的大小将决定它是否大。500个字符串的数组是否大?由于并非所有字符串的创建方式都相同,因此答案在很大程度上取决于单个字符串的长度。您也可以将其存储为任何纯文本格式,如csv。我认为那将比另外两个有更好的表现。至于字符串,这取决于它们的长度。有一个固定的成本,这是所有你可以计算没有长度。如果您关心这个固定成本,您可以简单地创建一个逗号分隔的长字符串。然后减少每个对象的开销。如果需要进行处理,您可以轻松拆分它们。