嗯,我在比赛结束时给了我一个小游戏,3个数据。
得分,硬币和等级。对此,我添加了排名。 (这是手动完成的,直到我弄清楚如何根据分数改变排名#)
所以,这是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>entry1</key>
<dict>
<key>rank</key>
<string>1</string>
<key>level</key>
<string>9</string>
<key>score</key>
<string>1999</string>
<key>coins</key>
<string>764</string>
</dict>
<key>entry2</key>
<dict>
<key>rank</key>
<string>2</string>
<key>level</key>
<string>8</string>
<key>score</key>
<string>1799</string>
<key>coins</key>
<string>375</string>
</dict>
<key>entry3</key>
<dict>
<key>rank</key>
<string>3</string>
<key>level</key>
<string>6</string>
<key>score</key>
<string>1599</string>
<key>coins</key>
<string>894</string>
</dict>
<key>entry4</key>
<dict>
<key>rank</key>
<string>4</string>
<key>level</key>
<string>3</string>
<key>score</key>
<string>799</string>
<key>coins</key>
<string>523</string>
</dict>
</dict>
</plist>
我希望能够按等级,硬币或等级对高分榜进行排序。
我已经尝试了很多东西来实现它,但没有什么能实现我想要的。
所以,如果有人能给我一些提示,我将非常感激。
提前致谢。
答案 0 :(得分:2)
属性列表是存储中数据的格式。要对它进行排序,您应该:
使用适当的结构很重要。属性列表支持两种容器对象:数组和字典。数组是有序列表;字典是键/值对的无序列表。看起来您现在正在使用字典,其中的键表示顺序。您应该更改存储方案以使用数组。然后你可以根据分数对数组进行排序并将其写入文件。