Итак, я работаю над графическим калькулятором. Прямо сейчас у меня есть шкала оценки, которая хранится как 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>
это правильный путь или я даже не близко?
Edit: Так что я пошел на массив словарей с чем-то вроде:
<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