0

文字列を含む2つの独立したPlistNSMutableArrayがあります。

最初の配列の例には、以下の製品が含まれています。

サッカー、バドミントンラケット、テニスボール、

2番目の配列には、上記の製品の数量が含まれています。

12、5、17

私が達成したいのは、製品名の最後に数量を追加することです。つまり、次のようになります。

サッカー数量:(12)、バドミントンラケット数量:(5)、テニスボール数量:(17)、

NSMutableString * emailString = [NSMutableString string];

for(int i = 0; i < [theProducts count]; i++) {

    NSString *str = [theProducts objectAtIndex:i];
    [emailString appendString:[NSString stringWithFormat:@"<br /> %@: QTY: %@", str, theQuantity]];
}

これを行うための最良の方法に関する推奨事項をいただければ幸いです。私は文字列の追加メソッドとループオーバーを見て、上記の配列の文字列に文字列を追加しましたが、これを機能させることができないようです:-(

見てくれてありがとう!

アップデート:

これは私のために働く

   NSMutableString *emailString = [NSMutableString string];

for(int i = 0; i < [theProducts count]; i++) {

     NSString *result = [NSString stringWithFormat: @"<br /> %@ QTY: (%d)", [theProducts objectAtIndex: i], [[theQuantity objectAtIndex: i] intValue], nil];
    [emailString appendString:[NSString stringWithFormat:@"%@", result]];

}
4

3 に答える 3

0

これはそれを行う1つの方法です(テストされていないコード、私の心からまっすぐに):

NSMutableArray *newArray = [[NSMutableArray alloc] init];
int i = 0;

for (NSString *what in itemArray) {
    [newAray addObject:[NSString stringWithFormat:@"%@: (%d)", what, [quantityArray objectAtIndex:i]]];
    i++
}
于 2012-05-02T22:30:22.350 に答える
0

これを行う方法はたくさんありますが、おそらく次のようなものを使用します。

   NSString *result = [NSString stringWithFormat: @"%@ QTY: (%d)", name, quantity, nil];

名前の代わりに文字列配列を使用し、意味のある方法で2番目の配列から数量を取得します。最初の配列がnamesと呼ばれ、2番目がquantitiesと呼ばれるNSNumberオブジェクトの配列である場合、行は次のようになります。

   NSString *result = [NSString stringWithFormat: @"%@ QTY: (%d)", [names objectAtIndex: i], [[quantities objectAtIndex: i] intValue], nil];
于 2012-05-02T22:30:25.317 に答える
0

それはそれほど難しいことではないはずです...私の心からコードを書きます。したがって、エラーが発生する可能性があります;)。

int i = 0;
int len = products.count;

for(i = 0; i < len; i++) {
   [NSString stringWithFormat:@"%@ QTY: (%d)", [products objectAtIndex:i], ([quantities objectAtIndex:i]]
}

注:両方のアレイの数が同じであることを確認する必要があります。したがって、その状態をチェックするために、前面にアサートも挿入するのが最善です。

于 2012-05-02T22:31:07.757 に答える