Приведенный ниже код создает файл и помещает в него данные, но сохраняет его следующим образом: ["123", "456", "", "789"]
Как получить новый item
для каждого абзаца?идея заключается в том, что текст песни будет сохранен в файл в зависимости от того, где стихи начинаются и заканчиваются.Я новичок в Swift, так что может быть лучший способ сделать это
@IBOutlet weak var songName: UITextField!
@IBOutlet weak var newLyrics: UITextView!
@IBAction func saveSong(_ sender: Any) {
let sName = songName.text!
let fileManager = FileManager.default
let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let path = documentDirectory.appending("/Lyrics/\(sName).plist")
let lyrics = newLyrics.text.components(separatedBy: "\n\n")
print(lyrics)
if let tDocumentDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first {
let filePath = tDocumentDirectory.appendingPathComponent("Lyrics")
if !fileManager.fileExists(atPath: filePath.path) {
do {
try fileManager.createDirectory(atPath: filePath.path, withIntermediateDirectories: true, attributes: nil)
} catch {
NSLog("Couldn't create document directory")
}
}
NSLog("Document directory is \(filePath)")
}
if(!fileManager.fileExists(atPath: path)){
print(path)
var lyricArray = [String]()
lyricArray.append("\(lyrics)")
// any other key values
let lyricData = NSArray(array: lyricArray)
let answer = lyricData.write(toFile: path, atomically: true)
print("File Created? \(answer)")
} else {
print("File Exists")
}
Я ожидаю, что выход будет
Item0 "123"
Item1 "456"
фактический выход
Item0 ["123", "456", "", "789"]