Могу ли я передать делегата в качестве параметра target-c

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

Вот мой код сейчас, в котором он живет — это в cellForRowAtIndexPath

 NSString *key = [NSString stringWithFormat:@"%@%@",cell.dataItem.ItemID, cell.dataItem.ManufacturerID];

        if (![self.imgOperationInQueue valueForKey:key]) {

            ImageOperation *imgOp = [[ImageOperation alloc] initWithItemID:cell.dataItem.ItemID withManufacturerID:cell.dataItem.ManufacturerID withReurnType:kThumbnail];
            imgOp.identifier = [NSString stringWithFormat:@"%i", cell.tag];
            imgOp.delegate = self;
            [[SharedFunctions sharedInstance] addImageOperationToQueue:imgOp];
            [imgOp release];

            // store these in the dictionary so we don;t queue up requests more than once
            [self.imgOperationInQueue setValue:cell.dataItem.ItemID forKey:key];
        }

Если бы я мог добавить делегата в качестве параметра, я мог бы поместить весь этот код в общий одноэлементный класс и вызывать его из любого места. в моем приложении.

Я полагаю, что мог бы использовать NSNotification — или я могу использовать какой-то блок?

11
задан Slee 13 June 2012 в 13:29
поделиться