Raccourci pour générer un NSRange pour toute la longueur de NSString?
Est-il un court façon de dire "toute la chaîne" plutôt que de taper:
NSMakeRange(0, myString.length)]
Il semble idiot que la partie la plus longue de ce genre de code est le moins important (parce que j'ai l'habitude souhaitez rechercher/remplacer dans toute la chaîne)...
[myString replaceOccurrencesOfString:@"replace_me"
withString:replacementString
options:NSCaseInsensitiveSearch
range:NSMakeRange(0, myString.length)];
- Si vous avez besoin de plus de 5 fois, alors vous pouvez faire de la méthode/de la catégorie, Mais pour moins de 5 fois votre
NSMakeRange(0, myString.length)]
sera plus courte, n'est-ce pas?
Vous devez vous connecter pour publier un commentaire.
Fonction? Catégorie de la méthode?
fullRange
, et que nous avons tous deux utilisé le nouveau composé littéraux, dans le même temps.Pas que je sache. Mais vous pouvez facilement ajouter un
NSString
catégorie:Swift
ou comme un
extension
:NSString
en Swift.NSString
peuvent être obsolètes, Swift, maisNSAttributedString
n'est pas le cas, et le même code fonctionne pour elle (à part le nom de la catégorie, évidemment).Ce n'est pas plus courte, mais... eh bien
@"{0, 13}"
etc, il ne va pas créerNSRange
pour la pleine longueur de la chaîne, si la chaîne ne contient pas de plage valide, mais plutôt aléatoire chaîne, elle renvoie{0,0}
gamme. nshipster.com/nsrangeSwift 4+, utile pour
NSRegularExpression
etNSAttributedString
Swift 2:
comme dans
ou
"abc".fullRange.toRange
, j'obtiens l'erreur de compilation: "Valeur de type" Fourchette<String.Index> "(aka " Plage<String.CharacterView.Index>") n'a pas de membre "toRange'." Je suis sous Xcode 8.3.3 avec Swift 3.1.