1

ここで実用的なObjective-Cの質問です。

2 つの配列と同じオブジェクトに対して 2つのforループがありますSGAdressLabel

for (SGAdressLabel *tmpLabel in recieversLabels){
    [tmpLabel removeFromSuperview];
}

for (SGAdressLabel *tmpLabel02 in copiesLabels){
    [tmpLabel02 removeFromSuperview];
}

これら 2 つを 1 つのステートメントにどのように組み合わせますか? また、それは必要ですか? ありがとう!

4

2 に答える 2

4

あなたのやり方はそのままでいいと思います。2 つの異なる配列を使用しているため、単一のループを使用して反復しようとしてもうまくいきません。または、1 つの配列を 1 つに追加することもできます。しかし、それは新しい利点を提示するものではなく、将来それを行う人々を混乱させる..

または、for ループを完全に回避することもできますが、その下で反復が行われています。

[copiesLabels makeObjectsPerformSelector:@selector(removeFromSuperView)];
[receiversLabel makeObjectsPerformSelector:@selector(removeFromSuperView)];
于 2013-02-26T12:02:43.223 に答える
4

2 つの配列を 1 つに結合して、それを使用できます。

NSArray *combinedLabels = [recieversLabels arrayByAddingObjectsFromArray:copiesLabels];
for (SGAdressLabel *tmpLabel in combinedLabels){
    [tmpLabel removeFromSuperview];
}

removeFromSuperviewこのソリューションでは、両方の配列にあるオブジェクトが 2 回受信されることに注意してください。

于 2013-02-26T12:02:01.100 に答える