Разрешено ли подклассы UIWebView?
Я просто хочу разобрать это раз и навсегда, нормально ли подклассы UIWebView?
Должен ли я когда-нибудь нервничать из-за отклонения приложения Apple из-за подкласса UIWebView?
В документации указано:
Примечания к подклассам
Класс UIWebView не должен быть подклассом.
Но в то же время Apple противоречит этому видео WWDC:
https://developer.apple.com/videos/wwdc/2011/?id=511#rich-text-editing-in-safari-on-ios
В слайде 41 они специально говорят о подклассе UIWebView
Спасибо заранее!
Ответы
Ответ 1
В то время как "Подклассы заметок" из документации UIWebView
явно препятствуют вам из подкласса, ваше приложение не будет отклонено из-за подкласса UIWebView
.
Реальный вопрос, который вы должны задать, заключается в следующем: "действительно ли мне нужен подкласс UIWebView
, или, может быть, добавление методов через категорию (с или без ассоциативного хранения) будет соответствовать моим потребностям?". Если категории недостаточно, перейдите к подклассу.
Ответ 2
Конечно, вы можете подклассифицировать UIWebView как любой другой класс. Но документация Apple предлагает нам не подклассифицировать UIWebView. Но это не значит, что они откажутся от таких приложений в процессе просмотра appstore. Я даю вам 100% гарантию на это. В этой категории приложений одобрено несколько приложений.
Ответ 3
Вы можете подклассом UIWebView... но он используется как есть. Но вы должны быть осторожны с настройками.
Подкласс выполняется в основном для возврата любых существующих свойств класса, и если вам нужно добавлять новые свойства, вы всегда можете использовать категории.
Ответ 4
Хотя это технически возможно, и вы даже не можете отказаться от него, как говорили некоторые другие, вы действительно должны спросить себя, действительно ли это возможно.
UIWebView в значительной степени противоречит разработчику: у вас нет никаких средств для проверки или изменения того, что происходит там. Возможно, поэтому Apple отговаривает вас от подкласса UIWebView.