Я все еще работаю над пониманием NSOperations. Я хочу, чтобы пользователь мог инициировать HTTP-запрос, инкапсулировать этот запрос в объект NSOperation, а затем забыть об этом. Я хотел бы выпустить объект NSOperation в моем основном коде, но оставить его в NSOperationQueue.
Каждая операция NSO завершается сохранением результата в основных данных, или его можно отменить. Тем не менее, я думаю, что мне нужно только отменить все незавершенные операции, а не отдельные операции. Я мог бы отменить их все, если приложение закрывается, например.
Это позволяет мне позволить пользователю продолжать инициировать запросы, не отслеживая их по отдельности. Я могу повторно использовать те же указатели объекта для инициализации объекта NSOperation, поставить его в очередь, а затем освободить его. Это выглядит очень просто, если NSOperationQueue сохраняет NSOperation при его добавлении.
Верно ли, что очередь сохранит операцию, поэтому я могу освободить ее там, где она была создана?
Кроме того, поскольку я новичок в ARC (я еще не пробовал), как я могу передать это право собственности? Я полагаю, что я хочу, чтобы NSOperation имел сильный атрибут свойства в очереди, но я не думаю, что хочу создать экземпляр с атрибутом слабого свойства.