z. Wie wir eine NSAttributed Zeichenfolge haben und wir müssen Zeichenfolge und Attribute trennen, dann verwenden Sie diese Attribute für andere Zeichenfolge der gleichen Länge.Wie trennt man Attribute von einem NSAverteilten String und wendet diese Attribute auf einen anderen String an?
Antwort
Ein NSAtributedString kann unterschiedliche Attribute für verschiedene Bereiche der Zeichenfolge aufweisen.
Um diese Attribute zu extrahieren, können Sie die Methode enumerateAttributesInRange
verwenden.
Wir bereiten eine Reihe von Tupeln, die Ergebnisse zu halten:
var extractedAttributes = [(attributes: [String:AnyObject], range: NSRange)]()
Jedes Tupel werden die Attribute für einen bestimmten Bereich in der NSAttributedString halten.
Jetzt iterieren wir auf dem NSAttributedString und das Array mit den Ergebnissen füllen:
attributedString.enumerateAttributesInRange(NSRange(location: 0, length: attributedString.length), options: NSAttributedStringEnumerationOptions(rawValue: 0)) { (dict, range, stopEnumerating) in
extractedAttributes.append((attributes: dict, range: range))
}
Sobald das Array gefüllt ist, können Sie die Inhalte zugreifen:
for item in extractedAttributes {
print(item.attributes)
print(item.range)
}
Und von dort haben Sie alle Sie müssen neue attributierte Strings mit diesen Attributen erstellen: Sie haben den Bereich und die entsprechenden Attribute für jeden im NSAttributedString.
Sie sollten bei dieser Methode von NSAttributedString
attributesAtIndex(location: Int, effectiveRange range: NSRangePointer) -> [String : AnyObject]
Durch den Aufruf dieser Methode bei NSAttributedString einen Blick darauf werfen Sie alle Attribute in Bereich angewendet erhalten. Geben Sie einfach alle Zeichenfolgen als Bereich an. Und dann erstellen Sie eine neue Attribut-Zeichenfolge mit diesen Attributen.
- 1. Attribute in String
- 2. Verkettung von Aggregatfunktion und String-Attribute
- 3. Get attribute string value von html
- 4. String dynamisch an einen anderen String ('Muting' ein C# String)
- 5. wie erzwinge einen String-Wert in HTML 5 'Daten' Attribute
- 6. jquery, Anbringen Objekte (anstelle von String-Attribute) zu einem Elemente
- 7. IndexOutOfRangeException beim Zugriff auf Attribute über String-Array?
- 8. HDF5 Shop String-Attribute mit verschiedenen Größen
- 9. .net - Wie verwendet man Attribute und Argumente?
- 10. Wie man einen Namespace zu einem Attribute in lxml hinzuzufügen
- 11. iOS - kopieren Sie alle NSMutableAttributedString auf einen anderen NSMutableAttributedString Attribute
- 12. Warum wendet modRewrite automatisch .php auf diese einfache Regel an?
- 13. Wie weist man einem Kindelement Attribute zu?
- 14. Modell auf mehrere Attribute in einem anderen Modell gehören
- 15. Wie definiert man Attribute auf forms.ModelChoiceField?
- 16. Python-Anfragen: erhalten Attribute von zurück JSON-String
- 17. Property Injection auf Attribute
- 18. Wie wendet man Angular2 Pipes auf dynamische Inhalte an?
- 19. Entfernen und bearbeiten Attribute in einem Roby auf Schienen Modell
- 20. Wie kann man einen bestimmten Wert aus einem String-Array erhalten und in einem anderen String-Array speichern?
- 21. Konvertieren von Daten- * Attribute zu einem Objekt
- 22. Attribute auf einer Schnittstelle
- 23. DataTestMethod und DataRow-Attribute in MSTEST
- 24. Benutzerdefinierte Attribute auf ActionResult
- 25. Dynamische Attribute auf einem Element Element react
- 26. PHP Soapclient und Lesen Attribute
- 27. Attribute XSD Schemas eindeutig Iden des anderen Elements Schiedsrichter Attribute
- 28. Get Attribute des umschließenden Tags in HTML String
- 29. Abrufen von XML-Knoten-Attribute und Werte
- 30. Dynamische Attribute in einem JSP-Tag
Können Sie bitte ein Beispiel für Ihre erwartete Eingabe und erwartete Ausgabe angeben? –