TMCache — использование блоков для мониторинга событий кэша

#ios #objective-c #objective-c-blocks

#iOS #objective-c #objective-c-блоки

Вопрос:

Из документации:

 /**
 A block to be executed just after an object is added to the cache. This block will be excuted within
 a barrier, i.e. all reads and writes are suspended for the duration of the block.
 */
@property (copy) TMMemoryCacheObjectBlock didAddObjectBlock;
  

Я пытаюсь использовать это для печати сообщения при добавлении объектов в кеш. Моя попытка до сих пор:

 [[_timedCache memoryCache] setDidAddObjectBlock:^{
    NSLog(@"added something to cache");
}];
  

Однако это приводит к ошибке компилятора «несоответствие типа параметра». Я довольно новичок в Objective-C и, вероятно, делаю здесь что-то наивное. Есть предложения?

Ответ №1:

TMemoryCahceObjectBlock имеет следующую подпись: (TMMemoryCache *cache, NSString *key, id object) , которой нет у вашего блока. Измените подпись вашего блока, и вы в выигрыше.