Почему я не могу сохранить данные в файл plist с помощью Swift - PullRequest
0 голосов
/ 16 февраля 2020

** readData.plist: **


  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>currentChapter</key>
    <string>2</string>
    <key>currentLine</key>
    <string>2</string>
    <key>bookname</key>
    <string>ExcelBible</string>
</dict>
</plist>


** Ниже приведен код: **


        let Chapter = currentChapter
        let Line = currentLine
        let name = bookname

        let dict:NSMutableDictionary = NSMutableDictionary()



        dict.setObject("1", forKey: "currentChapter" as NSCopying)
        dict.setObject("1", forKey: "currentLine" as NSCopying)
        dict.setObject("WordBible", forKey: "bookname" as NSCopying)

        //I also use dict[0] = "1", and setValue() method both of them are not work

        let plistPath = Bundle.main.path(forResource: "readData", ofType: "plist")

        dict.write(toFile: plistPath!, atomically: true)


Blockquote Я также использую FileManager и несколько примеры здесь для сохранения данных, некоторые отображают «Успешно записать», но файл не изменяется.

Цитата


Я iOS разработчик с 12 февраля 2020 года

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Цитата

Я использовал следующий код, но он тоже не работает.

Цитата


let currentChapter = "10"
let currentLine = "10"
let nameOfBook = "WordBible"

let readData = [currentChapter, currentLine, nameOfBook]
//

let dataFilePaths = FileManager.default.urls(for: .documentDirectory,
                                             in: .userDomainMask)[0].appendingPathComponent("gameSave.plist")

let data = try PropertyListEncoder().encode(readData)

try? data.write(to: dataFilePaths, options: Data.WritingOptions.atomic)
0 голосов
/ 16 февраля 2020

Я думаю, что файл находится не в доступном для записи месте, поэтому вы должны создать его в каталоге документов. Затем он должен быть прочитан из каталога документов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...