#iphone #appstore-approval
#iPhone #appstore-одобрение
Вопрос:
Я внедряю пользовательские UIViewController
подклассы, которые эмулируют поведение UITabBarController
и UINavigationController
.
Я хотел бы сделать эти классы достаточно общими, чтобы можно было использовать любой UIViewController
. Одна из проблем, с которой я столкнулся, заключается в том, что свойство parentViewController
(а также navigationController
) доступно только для чтения.
(В стороне: одной из причин настройки parentViewController
является правильное поведение -presentMoviePlayerViewControllerAnimated:
. UIViewController, похоже, передает его в parentViewController, если он установлен.)
Использование метода KVC setValue:self forKey:@"parentViewController"
, похоже, работает, но может ли это привести к отклонению моего приложения? Кто-нибудь делал что-нибудь подобное?
Ответ №1:
Я бы не беспокоился об отклонении, но я бы беспокоился о любой мотивации, которая была у Apple для создания parentViewController только для чтения для начала. Они могут зависеть от этого, и вы, возможно, вводите тонкую ошибку.
Например, если на момент установки значение не равно нулю, кто вызывает release для предыдущего значения. Могут ли эти свойства быть переданы куда-то еще (и сохранены) перед их перезаписью?
Если вы уверены, что не вводите малозаметную ошибку, тогда все должно быть в порядке. Своевременно проверяйте обновления для iOS, чтобы убедиться, что ничего не изменилось.
Комментарии:
1. Это не отвечает на вопрос. Композиция контроллера просмотра до версии 5.0 не была разрешена / распознана. Установка этого свойства (или «_parentViewController») необходима, если требуется композиция контроллера. Конечно, есть риски, но бывают случаи, когда это «просто должно сработать».
Ответ №2:
Я не могу говорить за эту точную ситуацию, но из того, что я знаю и слышал, я не думаю, что это должно быть проблемой.