0

こんにちは、下の画像のように **次の形式で plist にデータを追加する必要があります**実際に欲しい

しかし、実際のiam取得は次のようなものです

現在ワットイアム取得中 これのための私のコードを助けてください..

-(void)updatePlist
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *pathOfPricePlist= [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Price.plist"];
    NSMutableDictionary *mutableDictionary=[[NSMutableDictionary alloc]init];
    NSMutableArray *finalList=[[NSMutableArray alloc]init];
    for(int i=0;i<[sharedManager.bookidList count];i++) {

        [mutableDictionary setValue:[sharedManager.sharedProductPrice objectAtIndex:i] forKey:@"price"];
        [mutableDictionary setValue:[sharedManager.bookidList objectAtIndex:i] forKey:@"booknumber"];

        NSLog(@"%@",mutableDictionary);
        [finalList addObject:mutableDictionary];
        NSLog(@"%@",finalList);
    }

    [finalList writeToFile:pathOfPricePlist atomically:YES];

}
4

1 に答える 1

1

for ループの各ステップで新しい mutableDictionary を作成する必要があります。このような:

-(void)updatePlist
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *pathOfPricePlist= [[paths objectAtIndex:0] stringByAppendingPathComponent:@"Price.plist"];

    NSMutableArray *finalList=[[NSMutableArray alloc]init];
    for(int i=0;i<[sharedManager.bookidList count];i++) {

        NSMutableDictionary *mutableDictionary=[[NSMutableDictionary alloc]init];


        [mutableDictionary setValue:[sharedManager.sharedProductPrice objectAtIndex:i] forKey:@"price"];
        [mutableDictionary setValue:[sharedManager.bookidList objectAtIndex:i] forKey:@"booknumber"];

        NSLog(@"%@",mutableDictionary);
        [finalList addObject:mutableDictionary];
        NSLog(@"%@",finalList);
    }

    [finalList writeToFile:pathOfPricePlist atomically:YES];

}

それ以外の場合は、その配列に同じ辞書を何度も追加するだけです。

于 2013-07-27T15:00:37.207 に答える