1

我目前有一个plist存储一堆行标签的 a UITableView,还有一个plist存储设置的第二个。

我想要的是当您创建一个新行时,该行的名称存储为 an 的名称array,并且相关的设置存储在数组中。

是否可以从数组名称中获得标签?我该怎么做?我如何让它将输入到文本字段中的内容存储为数组?

谢谢,

克里斯

我已经使用这段代码将我的文本字段保存为 plist 中的数组

- (IBAction)saveViewerItems
{
    // get paths from root directory
    NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES);
    // get documents path
    NSString *documentsPath = [paths objectAtIndex:0];
    // get the path to our Data/plist file
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];

    // set the variables to the values in the text fields
    self.data = [[NSMutableArray alloc] initWithCapacity:20];


    // create dictionary with values in UITextFields
    NSDictionary *plistDict = [NSDictionary dictionaryWithObjects: [NSArray arrayWithObjects: data, nil] forKeys:[NSArray arrayWithObjects: (@"%@", text), nil]];

    NSString *error = nil;
    // create NSData from dictionary
    NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:plistDict format:NSPropertyListXMLFormat_v1_0 errorDescription:&error];

    // check is plistData exists
    if(plistData)
    {
        // write plistData to our Data.plist file
        [plistData writeToFile:plistPath atomically:YES];
    }
}

哪个有效,我可以看到它已保存。现在我只需要使用数组的名称作为cellForRowAtIndexPath.

我刚刚偶然发现另一个问题 - 每次我添加一个新项目时,它都会将它添加到 plist 中的相同位置 - 覆盖旧的..

4

1 回答 1

0

我没有完全理解你的问题。正如上面的评论中提到的,
你可以做一些类似这样的事情

[plistDictionary setObject:someArray forKey:textField.text]; 

cellForRow

 NSArray *keys = [plistDictionary allKeys];
 cell.textLabel.Text = [keys objectAtIndex : indexPath.row]
于 2013-02-13T13:44:35.117 回答