所以我正在開發一個GPA計算器應用程序。現在,我的評分等級存儲爲NSDictionary
,其中包含該鍵的字符串和該值的數字(即@"A"
- >4.0
)。屬性列表VS. NSDictionary
我一直在意識到我經常需要以不同的方式訪問數據,NSDictionary
不允許。例如,我可能想爲每個條目添加一個標籤以進行排序。這是屬性列表的設計目的嗎?我可以有一個密鑰@"A"
與標籤1
和價值4.0
與它相關嗎? 我想是這樣的:
<dict>
<key>GradeScale</key>
<array>
<dict>
<key>A_grade</key>
<string>A</string>
<key>point_value</key>
<number>4.0</number>
<key>tag</key>
<number>1</number>
</dict>
<dict>
<key>B_grade</key>
<string>B</string>
<key>point_value</key>
<number>3.0</number>
<key>tag</key>
<number>2</number>
</dict>
</array>
</dict>
這是在正確的軌道還是我還差得遠呢?
編輯: 所以,我已經走了字典的數組的東西,如:
<dict>
<key>Grade_Scale</key>
<array>
<dict>
<key>string_value</key>
<string>A</string>
<key>point_value</key>
<real>4</real>
<key>Tag</key>
<integer>1</integer>
</dict>
<dict>
<key>string_value</key>
<string>A-</string>
<key>point_value</key>
<real>3.7</real>
<key>Tag</key>
<integer>2</integer>
</dict>
我真正希望做的是能夠引用由STRING_VALUE,point_value,或標籤一定的價值。以上是否允許我這樣做?
你在這裏有什麼是我會做的。請記住,正如@QwertyBob在他的回答中所說的那樣,這只是它存儲在文件中的方式。您將創建一個數組,然後使用您的示例中的值爲您的評分等級中的每個年級添加一個字典對象。除非你想將它保存到文件中,否則根本不需要plist。 (請注意,我同意他的回答中的所有內容,除了字典的價值之外,因爲他正在存儲關於特定學生作業的成績的信息,而不是您詢問的分級系統。) – lnafziger
我確實希望將其保存到一份文件。我希望評分等級一旦設定就會保持不變,但不會改變。 – LT819
那麼,如果你在代碼中創建它,它將會持續存在(除非你需要對它進行修改,這對於像這樣的分級來說是不尋常的),並且不需要實際寫入文件。 .. – lnafziger