我从txt文件中加载了很多信息,如果可能的话,我希望用txt的元素动态创建NSmutable字典。
例如,每个都是这样的: 元素的id |日期|文本
我要问的是相当于NSString stringWithFormat:。 我们可以为Mutable Dictionary做同样的事吗?
更实际的是,假设NSString *日期等于“23/12/2009”(欧洲)。我想创建一个名为23/12/2009的字典而不声明* 23/12/2009但是像dictionaryWithFormat:@“%@”,date];
我坚持这个,我甚至不知道是否可能。如果没有,最好的方法是什么?
谢谢大家
此致
答案 0 :(得分:0)
要分隔字符串的组件,可以使用-[NSString componentsSeparatedByString:]
,它返回NSArray
个字符串。要从字符串中获取日期,您可以使用-[NSDateFormatter dateFromString:]
。如果您需要更复杂的解析,可以查看NSScanner
。
答案 1 :(得分:0)
听起来你想要一本字典词典。制作所需的每个字典,然后使用该日期将其插入另一个父字典,例如,作为其键。
答案 2 :(得分:0)
您可以将txt文件改为xml文件吗?然后,您可以调用dictionaryWithContentsOfFile:方法从文件中创建NSMutableDictionary。
通过在xml文件中定义数组并使用NSArray的arrayWithContentsOfFile方法读取它,可以在xml文件中包含多个字典。或者你可以在xml文件中使用字典词典,这就是我在ClockSmith应用程序中用来跟踪所有时钟组件及其设置的内容。这是一个xml文件的摘录,可以给你一个想法。它是使用NSDictionary的writeToFile:atomically:方法创建的。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>290900405.808</key>
<dict>
<key>Description_Key</key>
<string>Digital Clock - AM/PM</string>
<key>NIB_Name_Key</key>
<string>ClockDigital12Hr</string>
<key>Option_Value_Key</key>
<integer>3</integer>
</dict>
<key>290900405.810</key>
<dict>
<key>Description_Key</key>
<string>One Day Calendar</string>
<key>NIB_Name_Key</key>
<string>CalendarDay</string>
<key>Option_Value_Key</key>
<integer>0</integer>
</dict>
</dict>
</plist>