在我的应用程序中,我有一个简单的 ASCII 文件,其中存储了一些配置信息和它使用和更改的其他小信息。我想使用应用程序将该文件复制到 iPhone。
1)请告诉我应该把这个文件(config.txt)放在xcode的什么地方。我应该把它放在 Resources 下吗?
2) 我将如何在 iPhone 中访问它?我可以用吗
str = [NSString stringWithContentsOfFile:@"config.txt"]
还是我必须使用更完整的路径;如果是,那是什么?
NSUserDefaults
如果应用程序可以更改它们,您应该使用它来存储用户设置。文档在这里。
设置存储为 plist 文件,因此您可以存储NSDictionary
实例、NSArray
实例等。
如果你想用一些设置预先填充你NSUserDefaults
的,你可以用这样的一些代码来做到这一点:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"defaults" ofType:@"plist"];
NSDictionary *defaultsDict = [NSDictionary dictionaryWithContentsOfFile:filePath];
[[NSUserDefaults standardUserDefaults] registerDefaults:defaultsDict];
您需要使用默认设置在 Resources 文件夹中放置一个 defaults.plist 文件,并使用上面的代码。我从 AppDelegate 的+(void)initialize
方法运行该代码,但您可以选择另一个位置来调用它。
你可以把它放在资源中,是的。然后,要获取文件,您可以简单地使用:
[[NSBundle mainBundle] pathForResource:@"config" ofType:@"txt" inDirectory:@""]]
但是,我可以建议NSUserDefaults
您的设置吗?它将为您节省大量阅读和编写它们的麻烦。
如果要检索NSUserDefaults,可以执行以下操作:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
// getting a NSString
NSString *myString = [prefs stringForKey:@"keyToLookupString"];
// getting a NSInteger
NSInteger myInt = [prefs integerForKey:@"integerKey"];
// getting a Float
float myFloat = [prefs floatForKey:@"floatKey"];
如果 nsuserdefaults 不能满足您的需求,您可以将配置信息存储在 Documents 目录中的文件中。如果文件在启动时不存在,请阅读资源中的版本。