Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用根元素初始化plist_Iphone_Plist - Fatal编程技术网

Iphone 使用根元素初始化plist

Iphone 使用根元素初始化plist,iphone,plist,Iphone,Plist,我正在尝试为iPhone创建一个RSS阅读器,我尝试做的第一件事是创建一个plist来存放一堆NSDictionary。但是当在我的appDelegate中创建plist时(didFinishLaunchingWithOptions:),根元素是一个NSDictionary,但我需要一个NSArray来保存其他元素 if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) { [[NSFileManager defa

我正在尝试为iPhone创建一个RSS阅读器,我尝试做的第一件事是创建一个plist来存放一堆NSDictionary。但是当在我的appDelegate中创建plist时(didFinishLaunchingWithOptions:),根元素是一个NSDictionary,但我需要一个NSArray来保存其他元素

if (![[NSFileManager defaultManager] fileExistsAtPath:filePath]) {
    [[NSFileManager defaultManager] createFileAtPath:filePath contents:nil attributes:nil];
}

filePath变量是指向文档文件夹的路径。创建plist的代码运行正常。

您不能创建一个空数组(NSArray)并将其写入文件吗

:

以类似的方式做

[NSArray arrayWithContentsOfFile:path](如果您愿意,也可以使用NSMutableArray)


分配一个
NSMutableArray
,然后使用
[NSMutableArray addObject:dictionary
添加字典


在什么时间点将带有字典的数组写入持久存储(文件)是你的选择,但是你不需要首先写一个空文件。只要确保在进入后台和/或退出应用程序

之前更新文件,当我在我的视图控制器中接收到一个UIAptudioWaleTealTeNoToCube时,我就可以编写这个数组。使用用户可以将应用程序放在后台,并在后台将其杀死。在这种情况下,当您仅使用UIApplicationWillTerminateNotification时,将不会写入最新数据。啊,谢谢!我正在按照您告诉我的做,我将在收到这些通知时写入阵列。