Как реализовать по умолчанию NSFetchedResultsControllerDelegate - PullRequest
0 голосов
/ 09 января 2012

Как я могу реализовать протокол выше для моего существующего viewcontroller с реализацией по умолчанию?

Спасибо

Ответы [ 2 ]

0 голосов
/ 09 марта 2012

Ваш вопрос мне кажется немного неясным - ответ jackslash - один из способов интерпретации «реализации по умолчанию» (и хороший ответ для этого).Но я подозреваю, что вместо этого вы могли бы что-то значить для эффекта: «Как мне реализовать протокол NSFetchedResultsControllerDelegate, чтобы пользователь видел те же стандартные поведения табличного представления (например, анимации для редактирования, удаления, вставки, изменения порядка), найденные в других приложениях?»

Если это так ... действительно, из документации протокола не совсем понятно, куда идти, если вы начинаете с нуля.

Но вам не нужно начинать с нуля,Я бы порекомендовал изучить код, который вы получаете прямо из шаблонов в Xcode 4.3: создайте новое приложение с использованием шаблона Master-Detail Application и обязательно отметьте Использовать базовые данные ,и проект будет содержать контроллер табличного представления, реализация протокола которого вполне может обрабатывать все, что вам когда-либо понадобится.

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

0 голосов
/ 09 января 2012

Протокол - это способ повлиять на действия экземпляра другого класса или получить информацию, когда экземпляр другого класса собирается что-то сделать, что-то делает или что-то сделал.

Чтобы изменить поведение экземпляра этого класса, вы можете назначить объект, иногда объект, который создает экземпляр класса, его делегатом, а затем, когда экземпляр достигнет точки, в которой вы можете повлиять на него.или он хочет сообщить вам о чем-то, что он проверит, чтобы увидеть, есть ли у него делегат, а затем посмотреть, хочет ли этот делегат этого сообщения (т. е. реализует ли этот метод этот делегат).Если оба значения верны, то сообщение, определенное в протоколе, отправляется.

В протоколе NSFetchedResultsControllerDelegate есть 5, которые вы можете реализовать:

Реагирование на изменения

– controllerWillChangeContent:
– controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
– controller:didChangeSection:atIndex:forChangeType:
– controllerDidChangeContent:

Настройка имен разделов

– controller:sectionIndexTitleForSectionName:

Ни один из них не является @required для реализации протокола, поэтому, если вы говорите, что ваш класс соответствует <NSFetchedResultsControllerDelegate>, то "реализация по умолчанию"«не реализовывать ни один из этих методов, но в этом случае вы могли бы вообще не устанавливать делегата.

Если вы дадите более подробную информацию о том, чего вы хотите достичь, возможно, мы сможем вам помочь больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...