11.10 Перечисления в классах Objective-C |
Вверх Предыдущий Следующий |
Быстрое перечисление (enumeration) в Objective-C представляет собой конструкцию, которая позволяет перечислять элементы в контейнере Cocoa в общем виде. Оно осуществляется с использованием цикла for-in в Objective-C. На Objective-Pascal это было переведено с использованием существующего механизма цикла for-in. Поэтому функция ведет себя одинаково на обоих языках. Обратите внимание, что требуется активизация переключателя режима Objective-C 2.0. Ниже приведен пример использования цикла for-in: {$mode delphi} {$modeswitch objectivec2} uses CocoaAll;
var arr: NSMutableArray; element: NSString; pool: NSAutoreleasePool; i: longint; begin pool:=NSAutoreleasePool.alloc.init; arr := NSMutableArray.arrayWithObjects( NSSTR('Один'), NSSTR('Два'), NSSTR('Три'), NSSTR('Четыре'), NSSTR('Пять'), NSSTR('Шесть'), NSSTR('Семь'), nil);
i:=0; for element in arr do begin inc(i); if i=2 then continue; if i=5 then break; if i in [2,5..10] then halt(1); NSLog(NSSTR('элемент: %@'),element); end; pool.release; end. |