Я написал этот код, чтобы изменить файл Plist:Изменение PLIST не работает быстры
var check = false
let path = NSBundle.mainBundle().pathForResource("se.feomedia.qkrussia", ofType: "plist")
let dict = NSMutableDictionary(contentsOfFile : path!)!
for (key, value) in dict {
if String(key as NSString).hasPrefix("GAME") {
for k in dict.objectForKey(key) as Array<NSDictionary> {
for (g, var d) in k {
if String(g as NSString) == "index" {
check = true
}
if String(g as NSString).hasPrefix("backup") || (String(g as NSString).hasPrefix("question") && check) {
println(g)
let u = d as NSDictionary
println(2)
for (e, var h) in u {
if String(e as NSString).hasPrefix("correct") {
h = "someText"
}
}
d = u
}
else {
if String(g as NSString) == "correct" {
d = "someText"
}
}
}
check = false
}
}
}
dict.writeToFile("/Users/nik/Desktop/correct.plist", atomically: true)
PLIST файл содержит следующее:
<dict>
<key>CURRENT_USER_ID</key>
<string>6751073888894976</string>
<key>FBAccessTokenInformationKeyUUID</key>
<string>2AB33590-09AC-4B76-9E57-42005E9CF9B7</string>
<key>GAME_4808886523527168</key>
<array>
<dict>
<key>cat_id</key>
<string>19</string>
<key>cat_name</key>
<string>Знаменитости и СМИ</string>
<key>correct</key>
<string>Макс и Эмме</string>
<key>q_id</key>
<integer>6296760553046016</integer>
<key>question</key>
<string>Как зовут детей Дженифер Лопез?</string>
<key>timestamp</key>
<string>2014-07-28 14:18:18</string>
<key>wrong1</key>
<string>Макс и Эббот</string>
<key>wrong2</key>
<string>Дженни и Марк</string>
<key>wrong3</key>
<string>Селена и Джастин</string>
</dict>
<dict>
<key>cat_id</key>
<string>19</string>
<key>cat_name</key>
<string>Знаменитости и СМИ</string>
<key>correct</key>
<string>2008 г.</string>
<key>q_id</key>
<integer>4765042876612608</integer>
<key>question</key>
<string>В каком году Дима Билан победил на Евровидении?</string>
<key>timestamp</key>
<string>2014-07-28 14:18:18</string>
<key>wrong1</key>
<string>2006 г.</string>
<key>wrong2</key>
<string>2007 г.</string>
<key>wrong3</key>
<string>2010 г.</string>
</dict>
<dict>
<key>cat_id</key>
<string>19</string>
<key>cat_name</key>
<string>Знаменитости и СМИ</string>
<key>correct</key>
<string>Лампочка</string>
<key>q_id</key>
<integer>6690225728258048</integer>
<key>question</key>
<string>Любимый объект художника Васи Ложкина на его собственных картинах?</string>
<key>timestamp</key>
<string>2015-01-07 12:08:45</string>
<key>wrong1</key>
<string>Кот</string>
<key>wrong2</key>
<string>Рамка</string>
<key>wrong3</key>
<string>Мона Лиза</string>
</dict>
И многое другое. Плис написан правильно, все работает, чтение из plist отлично работает, но файл correct.plist абсолютно такой же, как и в реальном файле, поэтому ничего не изменилось. Я понятия не имею, почему это не работает.
EDIT: Также словари могут содержать 3 элемента: 2 словаря (вопросы и backupQuestion и индекс элемента с целочисленными)
ОК, есть ли способ изменить эти переменные в 'dict'? –
@ НикитинРоман обновил мой ответ с некоторыми предложениями. –