1

レシピ ID を持つすべての画像の配列を取得し、この画像の配列を次の viewController に渡したいのですが、私の問題は、取得する画像が 1 つだけであることです。すべての画像の配列には、別の画像を使用する必要があります。エンティティクラスまたは同じクラスを使用して実行することもできます。どうすればよいですか。行き詰まっています。助けてください。

-(NSMutableArray *)getAllRecipiesByUserId:(RecipeDC *)recipeid
{
    NSMutableArray *dataArray = [[NSMutableArray alloc] init];

     NSString *url = [NSString stringWithFormat:@"%@get_all_recipies_by_user_id&user_id=%d",kWSURL,recipeid.user_id];


    NSDictionary * returnDict = (NSDictionary *) [self callWebService:url];
    if([returnDict objectForKey:@"response"])
    {
        NSDictionary * returnDictSuccess = (NSDictionary *) [returnDict objectForKey:@"response"];
        NSArray *returnedDealArray = [returnDictSuccess objectForKey:@"recipies"];

        RecipeDC *recpie = [[RecipeDC alloc] init];
        for(NSDictionary *dealDict in returnedDealArray)
        {

            recpie.recipe_id=[[dealDict objectForKey:@"recipe_id"]intValue ];
            recpie.category_id=[[dealDict objectForKey:@"category_id"]intValue ];
            recpie.user_id=[[dealDict objectForKey:@"user_id"]intValue ];
            recpie.recipe_name = [dealDict objectForKey:@"recipe_name" ];
            recpie.recipe_detail = [dealDict objectForKey:@"recipe_detail"];


            NSArray *img = [dealDict objectForKey:@"images"];

           for(NSDictionary *dealDict in img)
            {
               recpie.recipie_img_id=[[dealDict objectForKey:@"recipe_images_id"]intValue];
                recpie.recipe_id=[[dealDict objectForKey:@"recipe_id"]intValue];
                recpie.recipie_img_url=[dealDict objectForKey:@"image_url"];

           }
            [dataArray addObject:recpie];
        NSLog(@"arr count is %u",[dataArray count]);

        }
    }
    return dataArray;

}
4

1 に答える 1

1

あなたはやった

RecipeDC *recpie = [[RecipeDC alloc] init];
    for(NSDictionary *dealDict in returnedDealArray)
    {

そのはず

    for(NSDictionary *dealDict in returnedDealArray)
    {
       RecipeDC *recpie = [[RecipeDC alloc] init];

ループの中..

編集済み 画像の配列を取得するには、実行している配列の辞書全体を保存できます

NSArray *img = [dealDict objectForKey:@"images"];

       for(NSDictionary *dealDict in img)
        {
           recpie.recipie_img_id=[[dealDict objectForKey:@"recipe_images_id"]intValue];
            recpie.recipe_id=[[dealDict objectForKey:@"recipe_id"]intValue];
            recpie.recipie_img_url=[dealDict objectForKey:@"image_url"];

       }

代わりに、RecipeDC クラスのプロパティを NSArray *images; として宣言します。そして、次のことを行うだけです

recpie.images=[dealDict objectForKey:@"images"];
于 2013-02-15T05:49:13.290 に答える