【问题标题】:Displaying a plist in a UITableView在 UITableView 中显示 plist
【发布时间】:2011-07-08 17:00:07
【问题描述】:

编辑:

好的,基本上,我在视图控制器上有一个 UITextView,还有一个保存按钮。点击保存按钮时,我希望将 UITextView 的文本保存到 plist。然后,在一个完全独立的视图控制器上,我想要一个 UITableView 来显示保存的文件。希望这是有道理的。

好的,

我一直在尝试这个,但没有任何效果。我的问题是:如何以编程方式将字符串添加到 plist。如何在 UITableView 中显示该 plist?

谢谢,

泰特

【问题讨论】:

  • 如果您想“保存”数据,您需要将 textView.text 添加到数组(可能是 NSMutableArray)。然后,您将使用新的表视图将数组的引用传递给视图控制器,以便它可以使用它来填充视图。如果需要,您可以选择将数据数组保存到设备中。

标签: iphone xcode uitableview plist


【解决方案1】:

这就是如何将 NSString 添加到存储在 plist 文件中的 NSArray 的方法。

NSArray *array = [NSArray arrayWithContentsOfFile:path];
NSMutableArray *mutableArray = [array mutableCopy];
[mutableArray addObject:@"FooBar"];
[mutableArray writeToFile:path atomically:YES];
[mutableArray release];

但是不需要每次添加字符串时都将文件保存到磁盘。当您离开视图和/或离开应用程序时,很可能可以将其保存到磁盘。

你已经知道如何从 plist 文件中创建一个 NSArray,所以你可以使用这个 NSArray 作为你的 UITableView 的数据源,这方面的教程有很多,所以我省略了这部分。

如果您使用 .plist 在多个视图控制器之间进行某种同步,那么您做错了。在这种情况下,您应该再次询问。

【讨论】:

    【解决方案2】:

    如果你的资源中有一个 pList,你可以这样做:

    NSString *file = [[NSBundle mainBundle] pathForResource:@"Workbook1" ofType:@"plist"];
    
    //This will take care of all the data types, 
    //so in the plist you can have dates, strings, numbers, dictionaries and arrays.        
    NSArray *array= [NSArray arrayWithContentsOfFile:file];
    

    一旦你有了你的数组,你就可以将它用作你的数据源UITableView

    要连接到 plist,您可以使用大多数属性列表对象的方法:

    NSString* aString=@"Test";
    
    [aString writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile];
    

    NSArray* anArray;
    
    [anArray writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile];
    

    【讨论】:

    • 好的,我现在就试一试,稍后我会告诉你进展如何。
    【解决方案3】:

    您必须将 plist 加载到数组中。

    然后您需要将单元格中的数据设置为普通的表格视图。

    如果要将字符串添加到 Plist,则需要将其保存到数组中,然后保存 Plist 文件。

    http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/TableView_iPhone/AboutTableViewsiPhone/AboutTableViewsiPhone.html

    http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      相关资源
      最近更新 更多