enumerarSubstringsInRange en Swift

Estoy reescribiendo mi código objective objective (ios) a Swift, enfrentando algunos problemas con el método enumerateSubstringsInRange. ¿Puede alguien ayudarme a convertir el código siguiente a Swift?

[contentString enumerateSubstringsInRange:NSMakeRange(0,[contentString length]) options:NSStringEnumerationByComposedCharacterSequences usingBlock: ^(NSString *substring, NSRange substringRange, NSRange enclosingRange,BOOL *stop) { if(substring.length >= 2) { /* my code goes here */ } } ] 

Prueba esto:

 contentString.enumerateSubstringsInRange(NSMakeRange(0, (contentString as NSString).length), options: NSStringEnumerationOptions.ByComposedCharacterSequences) { (substring, substringRange, enclosingRange, stop) -> () in if((substring as NSString).length >= 2) { NSLog("%@", substring) } } 

Tenga en count que para acceder a la propiedad de longitud de un String , debe convertirlo en un NSString , como se vio anteriormente.

Para la versión Swift 3.0.2, use el siguiente código

  string.enumerateSubstrings(in: NSMakeRange(0, (string as NSString).length), options: NSString.EnumerationOptions.byComposedCharacterSequences) { (substring, substringRange, enclosingRange, stop) -> () in let objCString:NSString = NSString(string:substring!) let hs: unichar = objCString.character(at: 0) } 

Puedes probar esto.

  contentString.enumerateSubstrings(in: NSRange(location: 0, length: contentString.length), options: NSStringEnumerationByComposedCharacterSequences, usingBlock: {(_ substring: String, _ substringRange: NSRange, _ enclosingRange: NSRange, _ stop: Bool) -> Void in if substring.length >= 2 { /* my code goes here */ } }) 

Para get más información, puede ir aquí para convertir su número de códigos en línea. https://iswift.org/try . Espero que esto ayude.

deje contentString: NSString = "string";

contentString.enumerateSubstrings (en: NSRange.init (location: 0, length: contentString.length), options: NSString.EnumerationOptions.byComposedCharacterSequences) {(substring, substringRange, enclosingRange, stop) en // your code}