问题标签 [plist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4577 浏览

iphone - 从 URL 读取 plist 到 NSDictionary 的规范方法?如何控制超时?

我有一个提供 plist XML 文件的 servlet。把这个变成一个 的最好方法是NSDictionary什么?我基本上有这个工作:

但是我无法控制超时;我宁愿不让我的 UI 挂起 60 秒,只是因为服务器(我可能无法控制)非常适合。我知道NSURLRequest,这将使我执行以下操作:

但我不太明白如何将它提供给 NSDictionary。

0 投票
3 回答
30098 浏览

objective-c - 将 Plist (NSString) 解析为 NSDictionary

所以我有一个 plist 结构化字符串,它是动态获取的(不是来自文件系统)。我如何将此字符串转换为 NSDictionary。

我尝试将其转换为 NSData,然后使用 NSPropertyListSerialization 转换为 NSDictionary,但是当我尝试访问 NSDictionary 时,它返回“[NSCFString objectAtIndex:]: unrecognized selector sent to instance 0x100539f40”,表明我的字典没有成功创建。

NSString 示例(即 plist 数据):

谢谢!

0 投票
2 回答
2046 浏览

sqlite - plist 或 sqlite

我必须在 iPhone 上存储大量数据,然后根据需要对其进行排序和搜索。任何人都可以向我建议我应该使用哪个 SQLite 或 plist 吗?

我正在考虑使用 SQLite。plist 和 SQLite 中哪个在搜索和排序中花费更少的处理时间?

如果有人有一些参考指南,请告诉我。

问候

0 投票
2 回答
1268 浏览

iphone - iPhone 上的字典、数组和 plist 帮助

我会感谢一些我正在做的事情的帮助,以前没有做过,并且有一些问题,因为我认为我不完全了解如何做到这一点。我想要做的事情我敢肯定对你们大多数人来说都很简单,只要我第一次正确地做到这一点,我就会这样做......无论如何......我有一个表格视图,我是需要填充两件事,一个用户名和一个带有项目计数的数字(用户名可以是主键)。目前我有一个用数组填充和编辑的表格视图....没问题....我知道该怎么做。

我需要帮助理解的两个部分是:

  1. 将具有这两个值的 plist 读入字典,然后将它们读入两个不同的数组,我可以在表中使用它们。

  2. 将数组保存回字典,然后保存回 plist。

我想我对如何将这两个东西存储在字典键和值中感到最困惑。我已经看过了,但只是没有“明白”。

我将不胜感激一些简短的代码示例,说明如何执行此操作或完成同一件事的更好方法。

一如既往,感谢您的出色帮助....

0 投票
2 回答
12207 浏览

iphone - 来自 iPhone plist 的数组

我正在尝试按照此处答案中的建议从 plist 中获取一个数组,但它不起作用。有人可以告诉我我错过了什么吗?

这是 plist 的样子……另一个奇怪的事情是我无法在纯文本文件中打开它?当我这样做时,它看起来像垃圾.....但在属性列表编辑器中看起来不错:

这是我正在使用的代码.....字典是 NSMUtableDictionary,accountsArray 是 .h 文件中的 NSMustableArray。

我错过了什么吗?搞砸什么?

谢谢...

0 投票
4 回答
1465 浏览

iphone - 写入 plist 的问题

一切正常,直到我调用该saveFile方法(如下所示)将文件写回磁盘,它在那里崩溃。我究竟做错了什么?

这是viewDidLoad我打开文件的方法的一部分,效果很好。

然后我将它加载到一个表格视图中。然后我向其中添加了一些新项目,效果很好。然后我调用这个方法来保存它并且它崩溃了:

0 投票
2 回答
589 浏览

objective-c - 是否可以明智地将不同的 plist 复制到应用程序包代码中?

我的问题在上面的标题中已经说明,但我会在这里再次写

是否可以明智地将不同的 plist 复制到应用程序包代码中?

这实际上与我之前的问题有点相关;)以编程方式创建字典属性列表

但是因为我可以写出 plist(并测试我是否做错了什么)我想知道我是否可以复制我的书面文件

[testBook writeTofile:@/Users/jack/testbook2.plist" atomically:NO];

到我的代码中的应用程序包(以便它可以从这里读取 NSString *path = [[NSBundle mainBundle] bundlePath]; NSString *dataPath = [path stringbyAppendingPathcomponent:@"testbook2.plist"];

另一种选择也很好,例如,如果我可以直接从另一个路径而不是 mainBundle 读取我的 plist

0 投票
2 回答
1367 浏览

iphone - plist(属性列表)文件 md5sum 在编译到 iPhone 应用程序时发生变化

我在我的 iPhone 应用程序中包含一个 plist 文件。它是二进制格式(使用 plutil 将 xml 转换为二进制)。我想在运行时对其运行 MD5 校验和(或 SHA-1)以确认其内容是预期的。不幸的是,我总是得到一个与我最初包含的不同的校验和。在假设我计算 MD5 总和错误一个多小时后,我决定运行测试并确认字节确实是相同的。他们不是。文件大小保持不变,但从第 30 个字节开始,到整个文件(最后 32 个字节除外),文件内容完全不同。有谁知道属性列表文件在包含在 iPhone 应用程序中之前是否已签名或以其他方式“编译”为不同的二进制格式?如果是这样,您能否提供有关该过程的更多详细信息?

提前致谢!

0 投票
1 回答
195 浏览

objective-c - 试图从预定义的 p 列表中获取整数?ObjC/可可

我正在开发Objective-C/Cocoa roguelike,因为我一直发现开发游戏是学习一门语言的最佳方式。我的游戏已经走得很远了,但是我遇到了问题。

每个 level.plist 都定义了一些东西,如下所示:

就这样被抓住了,我还想说这段代码一切正常:

然而,在我的NSLog探索中,我发现不是抓住我一个整数,甚至是一个有用的数字,而是抓住我一个某种对象,它在 NSLogged 时返回正确的值。我将如何将这个值变成一个整数,以便我可以像我想要的那样使用它?请注意,我只使用过NSObject*,因为没有其他方法可以正常工作。如果我=(int)改为使用,我会得到指针值或其他任何东西(1108608例如)。

我确定这是一个简单的解决方案,我提前感谢您。如果您不介意确切地解释正在发生的事情,那就太好了。我对概念的掌握很好,比大多数新手都好,但我总是对正在发生的事情感兴趣。如果我不知道发生了什么,学习编程有什么用!请非常愿意建议我注意/准备好其他类似的情况。任何建议,真的很感激,并且会提供给打算长期编码的人。我把学习拖得太久了,我唯一的遗憾是没有早点开始。

如果,无论出于何种原因,到目前为止你有兴趣尝试我的游戏:Link我目前正在实施状态保存,以便在你离开时保持关卡。这显然只是 OS X。到目前为止,我对此感到非常自豪,但我还有很长的路要走。控件在应用程序中列出。

0 投票
2 回答
1659 浏览

iphone - 从 iPhone 上的表格视图中下载的内容将数组保存到 PList

我从最近发布的论坛中复制了这些帖子,但没有得到回复。

我有我的代码所有设置的基础,它是一个带有导航控制器的钻取表,它故意将数据从具有一些空值的 plist 加载到 nsmutabledictionary 中。根据命令,应用程序然后下载信息,然后在 NSMutableArray 中设置 setValue。问题是这个 NSMutableArray 比 plist 的根低 3 级。我正在寻找一种方法来替换 plist 中加载并保存在 appdelegate 中的数组。我该怎么做?非常感谢您的帮助。

所以这可能没有多大意义。在 AppDelegate 中,它将 plist 文件加载到 NSMutableDictionary 中。plist是这样的:


>标题(字符串)
>行(数组)
>>第1项(字典)
>>>标题(字符串)
>>>ID(字符串)
>>>项列表(数组)
>>>>第1项(字典)
>> >>>Title(String) >>>>
ID(String)
>>>>>Value(String)-----------下载的空值
>>>>Item 2(Dictionary)
>>>>第 3 项(字典)
>>>>第 4 项(字典)
>>第 2 项(数组)
>>第 3 项(数组)
>>第 4 项(数组)

Rows 数组被发送到 RootViewController。当从 TableView 中选择其中一项并创建新实例时,将表数据源设置为该选定项的 ItemList。当用户按下按钮时,它会下载值并使用 [setValue: forKey:@"Value"] 将值设置在数组中。这是它迷路的地方。我现在需要将此 ItemList 数组设置回主 Root 字典,然后将 Root 字典发送回 AppDelegate,以便可以调用 applicationWillTerminate [self.data writeToFile:] 并且不需要下载下载的信息下次。