InAppSettingsKit: как настроить отдельные названия добавленных элементов из спецификации pshildpanespecifier?

#ios #objective-c #plist #inappsettingskit

#iOS #objective-c #список #inappsettingskit

Вопрос:

Я использую InAppSettingsKit для создания раздела в настройках моего приложения, где пользователь может добавить ряд пользовательских элементов, каждый из которых имеет свой собственный набор свойств (строковое значение и значение int).

Для этого я следую примеру, упомянутому в документации под заголовком «Расширение дочерних панелей» и продемонстрированному в примере приложения InAppSettingsKit, где в моем Root.plist добавлен элемент словаря с AddSpecifier типом PSChildPaneSpecifier , указывающий на дочерний файл списка с индивидуальными свойствами каждого элемента.

Это отлично работает; за исключением того, что каждый добавленный пользователем элемент отображается на главном экране настроек с точно таким же именем. (А именно, любое значение в Root.plist в дочернем элементе AddSpecifier словаря key ; в настоящее время я использую значение «Tag», следуя примеру в примере приложения.)

Представление InAppSettingsKit с тремя элементами pshildpanespecifier, добавленными пользователем

Очевидно, что пользователю моего приложения было бы сложно различать какие-либо из этих элементов с одинаковыми именами, чтобы редактировать свойства конкретного из них.

Как я могу настроить отображаемые заголовки для каждого из этих отдельных добавленных пользователем PSChildPaneSpecifier элементов?

В идеале я хотел бы, чтобы имя каждого из этих добавленных пользователем элементов, отображаемое на главной странице настроек IASK, соответствовало введенному пользователем заголовку строкового типа, который пользователь ввел для этого элемента на дочерней панели.

Ответ №1:

Проблема оказалась в том, что в ItemSpecifier элементе dictionary (родственный AddSpecifier словарю с типом PSChildPaneSpecifier ) я непреднамеренно опустил Key дочерний элемент.

Добавление в мой ItemSpecifier словарь дочернего элемента с именем Key типа String и значением, установленным на то же значение, что и Key значение в моем дочернем plist файле элемента строкового типа, введенное пользователем значение которого я хотел, чтобы отображалось как имя элемента на моей главной странице настроек IASK, сделало свое дело.