Wenn ich einen NSString mit einer Textdatei darin habe, wie bekomme ich ein NSArray von NSString mit jedem NSString, der eine Zeile der Datei enthält.
In 10.5 habe ich Folgendes gemacht:
%Vor%Aber das funktioniert nicht in 10.4, und mein Programm muss in 10.4 funktionieren.
Außerdem muss es mit \, \ n und \ n Zeilenenden arbeiten.
Der folgende Code stammt direkt von Apple-Dokumentation zu Absätzen und Zeilenumbrüchen :
%Vor%Ich bin nicht 100% sicher, ob es mit 10.4 funktioniert
Ich ersetze zuerst alle "\ r" durch "\ n", dann ersetze alle "\ n \ n" durch "\ n" und mache dann einen componentsSeparatedByString: @ "\ n".
Listet alle Zeilen in einer Zeichenfolge mit enumerateLinesUsingBlock:
Erklärung
%Vor%Parameter
block
Der für die Enumeration ausgeführte Block.Der Block hat zwei Argumente:
line
Die aktuelle Zeile der aufgezählten Zeichenfolge. Die Linie enthält nur den Inhalt der Zeile ohne die Zeilenabschlusszeichen.
stop
Ein Verweis auf einen booleschen Wert, den der Block zum Stoppen verwenden kann die Aufzählung durch Setzen von * stop = YES; es sollte nicht berühren * stop sonst.Verfügbarkeit Verfügbar in
OS 10.6
undiOS 4.0
und höher.
Direkt von einem meiner Projekte:
%Vor%Ich bin mir nicht sicher, wie man es automatisch mit jeder Art von Zeile, die auf 10.4 endet, macht.
Entsprechend der NSString-Klassenreferenz der NSString Nachricht componentsSeparatedByCharactersInSet: ist in OS X 10.5 oder höher verfügbar. Sie müssen componentsSeparatedByString:.
verwenden Sie können auch enumerateSubstringsInRange:
mit den Optionen NSStringEnumerationByLines
und / oder NSStringEnumerationByParagraphs
ausführen.
Der Vorteil dieser Vorgehensweise besteht darin, dass Sie den NSRange für jede Teilzeichenfolge abrufen und auch den Anfangsbereich der aufzählenden Zeichenfolge festlegen können.
%Vor%Tags und Links objective-c macos cocoa