如何在 iOS 中从 .plist 添加和获取值
Posted
技术标签:
【中文标题】如何在 iOS 中从 .plist 添加和获取值【英文标题】:How to add and get the values from .plist in iOS 【发布时间】:2010-10-13 08:26:56 【问题描述】:我正在实现一个基于 Web 服务的应用程序。我需要在 .plist 中添加一个字符串作为属性,并且我需要在代码中需要时从 .plist 中获取值。
【问题讨论】:
getting data from plist to NSMutableArray and writing the NSMutableArray to same plist iPhone的可能重复 【参考方案1】:这是一个代码示例:
NSString *path = [[NSBundle mainBundle] pathForResource: @"YourPLIST" ofType: @"plist"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: path];
id obj = [dict objectForKey: @"YourKey"];
【讨论】:
您好,我的路径为空,您能帮帮我吗 你的plist文件必须添加到项目中,然后你必须在上面的代码中设置它的确切名称(包括大小写)。 @BenC.R.Leggiero 一旦你执行了第二行,你就有了一个普通的NSDictionary
,你可以将它用作任何其他字典。【参考方案2】:
NSBundle* mainBundle = [NSBundle mainBundle];
// Reads the value of the custom key I added to the Info.plist
NSString *value = [mainBundle objectForInfoDictionaryKey:@"key"];
//Log the value
NSLog(@"Value = %@", value);
// Get the value for the "Bundle version" from the Info.plist
[mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"];
// Get the bundle identifier
[mainBundle bundleIdentifier];
【讨论】:
【参考方案3】:NSURL *url = [[NSBundle mainBundle] URLForResource:@"YOURPLIST" withExtension:@"plist"];
NSArray *playDictionariesArray = [[NSArray alloc ] initWithContentsOfURL:url];
NSLog(@"Here is the Dict %@",playDictionariesArray);
或者你也可以使用下面的
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Sample.plist"];
【讨论】:
【参考方案4】:从 plist 中获取非常简单。
NSString *path = [[NSBundle mainBundle] pathForResource:@"SaveTags" ofType:@"plist"];
if (path)
NSDictionary *root = [NSDictionary dictionaryWithContentsOfFile:path];
如果你想在 plist 中添加一些东西,也许你可以在这里找到答案: How to write data in plist?
但是如果你只想在你的应用中保存一些消息,NSUserDefaults 是更好的方法。
【讨论】:
【参考方案5】:你不能这样做。任何捆绑包,无论是 ios 还是 Mac OS 都是只读的,您只能读取它,并且不能创建文件、写入或对捆绑包中的文件执行任何操作。这是苹果安全功能的一部分。您可以使用 NSDocumentsDirectory 来编写和阅读您的应用所需的内容
【讨论】:
以上是关于如何在 iOS 中从 .plist 添加和获取值的主要内容,如果未能解决你的问题,请参考以下文章