我有以下实现和方法。当调用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];
}
谷歌的搜索并不是很有帮助,这种情况很难用到足够的单词来搜索......
由于
答案 0 :(得分: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];
}
}