访问由plist填充的tableView的下一项

时间:2013-01-08 22:11:00

标签: objective-c uitableview plist

我有一个由plist填充的tableView。

plist中的每个项目都有自己的ID。

plist的结构如下:

Root    
>Item 0
   Title  (Title of the first section in the tableView)
   Rows (Array -> Rows of the first section)
     >Item 0
        id 
        name
        description
        image
     >Item 1
        id 
        name
        description
        image
      //etc

由于图像的说法优于1000字,因此它是:

http://i49.tinypic.com/2ql5xtz.png

现在,我想从detailView访问plist的下一项,但我不知道该怎么做或机制应该是什么样的。 我用Google搜索了很多东西来实现这个目标,但我找不到任何可以帮助我的东西,这就是我在这里问的原因。

我已经在detailView中打开了plist(从tableView访问id打开),我想创建一个按钮或其他东西去下一个项目。

例如,如果detailView是Item 0的id,我需要访问下一个id,即Item 1 id。

以前有人这样做过吗?

非常感谢你。

2 个答案:

答案 0 :(得分:2)

这很容易,将你的plist加载到DetailView中并完成剩下的工作。

答案 1 :(得分:1)

首先导入plist(如果它存储在包中,则适用):

NSError *error = nil;
NSString *file  = [[NSBundle mainBundle] pathForResource:@"Name" ofType:@"plist"];
if (!file) {
        // Handle error if file not found
}

然后将该文件作为字典打开(我假设您不需要初始数组):

// Open the file
NSArray *array = [NSArray arrayWithContentsOfFile:file];
NSDictionary *dictionary = [array objectAtIndex:0]; // Skipped checking if array is empty
if (!dictionary) {
        NSLog(@"Failed to process plist file");  // Handle error
}

然后你可以在字典中查询所需的对象,即在这种情况下带有键@“MyKey”的数组:

NSArray *rowArray= [dictionary objectForKey:@"MyKey"];

然后你可以从数组中检索下一个对象。