2009-06-12 2 views
1

У меня есть объект контроллера ObjC.Какао-контроллеры - лучшая практика для уведомления о завершении, для утилизации?

После Alloc/инициализации объекта, я получаю это, чтобы сделать работу асинхронно:

[MyObject doSomeThingsOverTime];

Метод устанавливает вещи в движение, а затем немедленно возвращается.

Вопрос: какой лучший способ получить уведомление о результате в будущем, чтобы я мог освободить myObject и отреагировать на выполненную работу? Должен ли я наблюдать/отправлять уведомления? Или предоставить объекту метод обратного вызова? Или другой?

ответ

2

Я лично являюсь поклонником маршрута центра уведомлений. Это позволяет более чем одному наблюдателю (может или не может быть релевантным для вас).

Маршрут делегата также действителен и используется довольно часто в рамках.

Я думаю, что это сводится к личным предпочтениям. Если это ваш собственный код, вы должны пойти на то, что наиболее читаемо и просто для вашей конкретной ситуации. Я не думаю, что он более или менее действителен, чем другой.

+0

Спасибо! Тогда я буду использовать Уведомления. Приветствия. – SirRatty

1

Вы просматривали классы NSOperation и NSOperationQueue? Вы можете наблюдать isFinished объекта NSOperation, чтобы вы получили уведомление, когда оно будет завершено.