0

我有以下实现和方法。当调用该setPaymentInfo方法并且字典是一个参数时,该方法然后创建一个新实例,PaypalPaymentInfo然后设置值。这一切都很好。

我现在想做的是能够将多个字典传递到方法中并创建多个实例PaypalPaymentInfo并填充值。所以本质上是一个字典的“数组”,如果你愿意的话。

@implementation PaypalPaymentInfo

@synthesize paymentCurrency, paymentAmount, itemDesc, recipient, merchantName;

- (void) dealloc
{
    self.paymentCurrency = nil;
    self.paymentAmount = nil;
    self.itemDesc = nil;
    self.recipient = nil;
    self.merchantName = nil;

    [super dealloc];
}

@end

- (void) setPaymentInfo:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
{
    self.paymentInfo = nil;
    self.paymentInfo = [[PaypalPaymentInfo alloc] init];

    [self.paymentInfo setValuesForKeysWithDictionary:options];
}

谷歌搜索不是很有帮助,这种情况很难用足够的词来搜索......

谢谢

4

1 回答 1

2

您需要创建一个可变数组来保存 PaypalPaymetntInfo 对象,我在示例中调用了该 paymentInfoArray。然后你只需要传递一个(字典)数组而不是字典,然后循环遍历数组以获取里面的字典。

- (void) setPaymentInfo:(NSMutableArray*)arguments withArray:(NSArray*)options
{
    for (NSMutableDictionary *dict in options){
       PaypalPaymentInfo *paymentInfo = [[PaypalPaymentInfo alloc] init];
       [paymentInfo setValuesForKeysWithDictionary:dict];
       self.paymentInfoArray addObject:paymentInfo];
    }
}
于 2013-05-04T04:36:46.223 回答