leer escribir cadenas archivos ios arrays swift text nsstring

ios - escribir - cadenas ruby



¿Lee un archivo de texto línea por línea en Swift? (3)

Actualización para Swift 2.0 / Xcode 7.2

do { if let path = NSBundle.mainBundle().pathForResource("TextFile", ofType: "txt"){ let data = try String(contentsOfFile:path, encoding: NSUTF8StringEncoding) let myStrings = data.componentsSeparatedByCharactersInSet(NSCharacterSet.newlineCharacterSet()) print(myStrings) } } catch let err as NSError { //do sth with Error print(err) }

También vale la pena mencionar que este código lee un archivo que está en la carpeta del proyecto (ya que se usa pathForResource), y no en, por ejemplo, la carpeta de documentos del dispositivo

Acabo de empezar a aprender Swift, obtuve mi código para leer del archivo de texto y la aplicación muestra el contenido del archivo de texto completo. ¿Cómo puedo mostrar línea por línea y llamar a esa línea varias veces?

TextFile.txt contiene lo siguiente.

  1. Plátano
  2. manzana
  3. Pera
  4. fresa
  5. arándano
  6. blackcurrent

lo siguiente es lo que tiene actualmente ...

if let path = NSBundle.mainBundle().pathForResource("TextFile", ofType: "txt"){ var data = String(contentsOfFile:path, encoding: NSUTF8StringEncoding, error: nil) if let content = (data){ TextView.text = content }

también si hay otra forma de hacerlo, por favor házmelo saber. Muy apreciado


Probablemente quiera leer todo el archivo de una vez. Apuesto que es muy pequeño.

Pero luego desea dividir la cadena resultante en una matriz, y luego distribuir los contenidos de la matriz entre varios elementos de la IU, como las celdas de la tabla.

Un simple ejemplo:

var x: String = "abc/ndef" var y = x.componentsSeparatedByString("/n") // y is now a [String]: ["abc", "def"]


Swift 3.0

if let path = Bundle.main.path(forResource: "TextFile", ofType: "txt") { do { let data = try String(contentsOfFile: path, encoding: .utf8) let myStrings = data.components(separatedBy: .newlines) TextView.text = myStrings.joined(separator: ", ") } catch { print(error) } }

La variable myStrings debería ser cada línea de los datos.

El código utilizado es de: Lectura de archivo línea por línea en iOS SDK escrito en Obj-C y utilizando NSString

Verifique el historial de edición de versiones anteriores de Swift.