【问题标题】:Reading a plist dictionary阅读 plist 字典
【发布时间】:2011-05-04 08:29:59
【问题描述】:

我一直在试图弄清楚这是如何工作的。我有一个 plist,它是一个字典数组。我需要在数组中分别读取每个字典并将每个字典映射到表格视图中的单元格。我觉得这非常简单,但是我没有成功访问第一个字典并将每个键/值对写入 tableview;然后响应“下一步”按钮,将第二个字典写入 tavbeview,然后写入第三个字典等等。我不必后退,但我必须在 tableview 中显示每个连续字典的内容。 任何提示/代码示例将不胜感激。

【问题讨论】:

    标签: uitableview plist nsdictionary


    【解决方案1】:

    这是你的意思吗?

    NSDictionary *cellValue = [self.array objectAtIndex:[indexPath row]];
    NSString *label = [cellValue objectForKey:@"label"];
    [cell.textLabel setText:label];
    

    array 使用plist 的内容进行初始化。 plist 有一个字典,其键名为label,然后可以通过objectForKey 访问。

    我不太确定您在编写字典时在做什么,但我所做的是创建一个名为 DataObject 的自定义类,并添加了一些方法,例如 addNewItemwriteToFile,如下所示:

    NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
    NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:fileTitle];
    
    [array writeToFile:finalPath atomically:YES];
    

    对于addNewItem:(NSString *)label

    NSDictionary *newItem = [[NSDictionary alloc] initWithObjectsAndKeys:label,@"label", nil];
    [array addObject:newItem];
    [newItem release];
    [self writeTask];
    

    然后像这样简单地访问它们:

    DataObject *db = [[DataObject alloc] init];
    [db addNewItem:youItemTitle];
    [db release];
    

    虽然这对内存管理非常不利。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      • 1970-01-01
      相关资源
      最近更新 更多