#ios #objective-c #plist #inappsettingskit
#iOS #objective-c #список #inappsettingskit
Вопрос:
Я использую InAppSettingsKit для создания раздела в настройках моего приложения, где пользователь может добавить ряд пользовательских элементов, каждый из которых имеет свой собственный набор свойств (строковое значение и значение int).
Для этого я следую примеру, упомянутому в документации под заголовком «Расширение дочерних панелей» и продемонстрированному в примере приложения InAppSettingsKit, где в моем Root.plist добавлен элемент словаря с AddSpecifier
типом PSChildPaneSpecifier
, указывающий на дочерний файл списка с индивидуальными свойствами каждого элемента.
Это отлично работает; за исключением того, что каждый добавленный пользователем элемент отображается на главном экране настроек с точно таким же именем. (А именно, любое значение в Root.plist в дочернем элементе AddSpecifier
словаря key
; в настоящее время я использую значение «Tag», следуя примеру в примере приложения.)
Очевидно, что пользователю моего приложения было бы сложно различать какие-либо из этих элементов с одинаковыми именами, чтобы редактировать свойства конкретного из них.
Как я могу настроить отображаемые заголовки для каждого из этих отдельных добавленных пользователем PSChildPaneSpecifier
элементов?
В идеале я хотел бы, чтобы имя каждого из этих добавленных пользователем элементов, отображаемое на главной странице настроек IASK, соответствовало введенному пользователем заголовку строкового типа, который пользователь ввел для этого элемента на дочерней панели.
Ответ №1:
Проблема оказалась в том, что в ItemSpecifier
элементе dictionary (родственный AddSpecifier
словарю с типом PSChildPaneSpecifier
) я непреднамеренно опустил Key
дочерний элемент.
Добавление в мой ItemSpecifier
словарь дочернего элемента с именем Key
типа String и значением, установленным на то же значение, что и Key
значение в моем дочернем plist
файле элемента строкового типа, введенное пользователем значение которого я хотел, чтобы отображалось как имя элемента на моей главной странице настроек IASK, сделало свое дело.