我想使用的基本目標C stament for (id object in collection)
與多個對象和條件是這樣的:對於具有多個在
for (Origin *origin in [self.fetchedOriginController fetchedObjects] AND Destiny *destiny in [self.fetchedDestinyController fetchedObjects]))
{
NSLog(@"This route starts from %@ and ends in %@, origin.name, destiny.name);
}
所以日誌將是:
This route starts in London and ends in Sidney
This route starts in Madrid and ends in Barcelona
This route starts in Washington and ends in Vienna
(...)
怎麼可以這樣做?
究竟該循環的期望行爲是什麼?儘管兩個集合同時循環?如果其中一個集合用完了,會有什麼行爲? –
這是在其他語言,@JoachimIsaksson(有時候該死的方便),行之有效的行爲; Lisp有''mapcar'](http://stackoverflow.com/a/6195809/),Python和Ruby有['zip()'](https://bradmontgomery.net/blog/2013/04/01/蟒拉鍊-MAP-和拉姆達/)。當其中一個列表用完時,迭代停止。我見過Cocoa,IIRC至少有兩個「壓縮」的第三方實現。 –
@JoshCaswell據我所知,它至少可以是zip,zip_longest或交叉連接,這就是爲什麼我要求澄清。 –