2

在我的应用程序中,我有一个简单的 ASCII 文件,其中存储了一些配置信息和它使用和更改的其他小信息。我想使用应用程序将该文件复制到 iPhone。

1)请告诉我应该把这个文件(config.txt)放在xcode的什么地方。我应该把它放在 Resources 下吗?

2) 我将如何在 iPhone 中访问它?我可以用吗

str = [NSString stringWithContentsOfFile:@"config.txt"] 

还是我必须使用更完整的路径;如果是,那是什么?

4

4 回答 4

9

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方法运行该代码,但您可以选择另一个位置来调用它。

于 2009-04-25T17:56:30.963 回答
1

你可以把它放在资源中,是的。然后,要获取文件,您可以简单地使用:

[[NSBundle mainBundle] pathForResource:@"config" ofType:@"txt" inDirectory:@""]]

但是,我可以建议NSUserDefaults您的设置吗?它将为您节省大量阅读和编写它们的麻烦。

于 2009-04-25T17:57:57.327 回答
1

如果要检索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"];
于 2010-11-18T16:55:17.383 回答
0

如果 nsuserdefaults 不能满足您的需求,您可以将配置信息存储在 Documents 目录中的文件中。如果文件在启动时不存在,请阅读资源中的版本。

于 2009-04-25T18:32:41.207 回答