Использование протоколов Objective C

У меня есть вопрос с домашним заданием, который очень смутил меня. Ниже приводится краткое объяснение вопроса.

Представьте, что вы разрабатываете приложение, которое хранит контактную информацию. Адресная книга может содержать много типов объектов, например, Человек, компания или что-то еще, что имеет контактную информацию.

Теперь вместо явной проверки каждого типа объекта напишите протокол, который объявляет, как объект должен вести себя и успешно появляться в вашей адресной книге.

Я понимаю и стараюсь ответить на этот вопрос,

Создайте протокол, который имеет общие методы для каждого типа контактной информации в@required тег. И все другие методы, которые не похожи друг на друга (например, номер факса связан с компанией, но не с лицом ...) в @optional. Во время выполнения вы можете проверить, отвечает ли объект на какой-либо данный метод, используяselector. Сомневаюсь: Однако это опять-таки явная проверка типа объекта косвенно, я прав?

Вторая мысль - использовать что-то вродеabstract class в Яве. Это означает, что унаследованные классы от абстрактного класса реализуют свои собственные абстрактные методы. Но как наивный разработчик iOS я не знаю, как это реализовать? и я не уверен, решит ли это мою проблему. Я хотел бы получить просветление, если кто-то знает это.

Внешнее чтение завершено. Пожалуйста, дайте мне знать, если я ищу ответ по одной из этих ссылок. Я прочитаю это снова, чтобы понять и решить это :). Благодарю.

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProtocols.html#//apple_ref/doc/uid/TP30001163-CH15-TPXREF144

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProtocols.html#//apple_ref/doc/uid/TP30001163-CH15-TPXREF146

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocProtocols.html#//apple_ref/doc/uid/TP30001163-CH15-TPXREF149

Ответы на вопрос(3)

Ваш ответ на вопрос