1

私は現在plist、行のラベルの束を格納するaUITableViewと、設定を格納する2番目のラベルを持ってplistいます。

新しい行を作成すると、その行の名前がの名前として保存され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

私はあなたの問題を完全には理解していませんでした。上記のコメントで述べたように、次のようなことを行います
Store you array like

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

cellForRow

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