Протокол - это способ повлиять на действия экземпляра другого класса или получить информацию, когда экземпляр другого класса собирается что-то сделать, что-то делает или что-то сделал.
Чтобы изменить поведение экземпляра этого класса, вы можете назначить объект, иногда объект, который создает экземпляр класса, его делегатом, а затем, когда экземпляр достигнет точки, в которой вы можете повлиять на него.или он хочет сообщить вам о чем-то, что он проверит, чтобы увидеть, есть ли у него делегат, а затем посмотреть, хочет ли этот делегат этого сообщения (т. е. реализует ли этот метод этот делегат).Если оба значения верны, то сообщение, определенное в протоколе, отправляется.
В протоколе NSFetchedResultsControllerDelegate
есть 5, которые вы можете реализовать:
Реагирование на изменения
– controllerWillChangeContent:
– controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
– controller:didChangeSection:atIndex:forChangeType:
– controllerDidChangeContent:
Настройка имен разделов
– controller:sectionIndexTitleForSectionName:
Ни один из них не является @required
для реализации протокола, поэтому, если вы говорите, что ваш класс соответствует <NSFetchedResultsControllerDelegate>
, то "реализация по умолчанию"«не реализовывать ни один из этих методов, но в этом случае вы могли бы вообще не устанавливать делегата.
Если вы дадите более подробную информацию о том, чего вы хотите достичь, возможно, мы сможем вам помочь больше.