basketArray = [[NSMutableArray alloc] initWithObjects:nil];
basketArray = [[dict objectForKey:@"myCartItems"] retain];
Вы выделяете массив, а затем сразу устанавливаете его на то, что когда-либо возражает против получения вами из этого словаря.Я думаю, что то, что происходит, это то, что объект, который вы извлекаете из словаря, на самом деле является nsarray.
попробуйте вместо этих двух строк
basketArray = [NSMutableArray arrayWithArray:[dict objectForKey:@"myCartItems"]];