У меня есть вопрос с домашним заданием, который меня очень сильно смутил. Ниже приводится краткое объяснение вопроса.
Представьте, что вы разрабатываете приложение, в котором хранится контактная информация. Адресная книга может содержать множество типов сущностей, например. Человек , компания или что-либо еще, у кого есть контактная информация.
- Теперь вместо явной проверки каждого типа объекта напишите протокол , который объявляет, как объект должен вести себя и успешно отображаться в вашей адресной книге.
Я понимаю и стараюсь ответить на этот вопрос:
Создать протокол, который будет иметь общие методы для каждого типа контактной информации в теге @required
. И все другие методы, которые не похожи в разных контактах (например, номер факса связан с компанией, но не с человеком ...) в @optional.Во время выполнения вы можете проверить, отвечает ли объект любому заданному методу, используя селектор
.
Сомнение: Однако это снова явная косвенная проверка типа объекта, я прав?
Вторая моя мысль - использовать что-то вроде абстрактного класса
в java. Это означает, что класс, унаследованный от абстрактного класса, реализует свои собственные абстрактные методы. Как же я как наивный разработчик iOS не знаю, как это реализовать? и я не уверен, решит ли это мою проблему. Я хотел бы просветиться, если кто-то это знает.
Внешнее чтение выполнено. Сообщите мне, есть ли ответ, который я ищу, по одной из этих ссылок. Я прочитаю это еще раз, чтобы понять и решить эту проблему :). Благодарю.