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];
}

Google 検索はあまり役に立ちませんでした。この種の状況を、検索するのに十分な数の単語で表現するのは困難です...

ありがとう

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 に答える