Próbuję przekonwertować projekt Objective-C na szybki, ale nie jestem w stanie znaleźć sposobu użycia NSFastEnumeration dla obiektu klasy, który jest zgodny z NSFastEnumeration.NSFastEnumeration w Swift
Oto kod w ObjC:
// get the decode results
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// just grab the first barcode
break;
tej pory starałem się dowiedzieć, jak to zrobić, ale to łania nie wydaje pracy, tutaj jest kod SWIFT:
var results: ZBarSymbolSet = infoDictionary?.objectForKey(ZBarReaderControllerResults) as ZBarSymbolSet
var symbol : ZBarSymbol? = nil;
for symbol in results
{ //just grab first barcode
break;
}
Wystąpił błąd warunku - "ZBarSymbolSet" nie ma członka o nazwie "Generator"
Co robię źle?
Oto zrzut ekranu
Chciałbym usłyszeć prawdziwe rozwiązanie tego oraz 'NSFastEnumeration' jest to mocno używany protokół całego (jedyna odpowiedź jak na razie po prostu stwierdza, dlaczego to nie działa). 'NSFoundation' (' NSSet', 'NSHa shTable', 'NSMapTable',' NSPointerArray', etc) i czuje się zbędnym rozszerzenie wszystkich tych klas tylko po to, aby dostosować się do 'SequenceType', kiedy ten sam konstrukt' for-in' był już obsługiwany dla tych klas w Objective-C . –