Как выполнить блоки, хранящиеся в NSDictionary?

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

NSDictionary *blocks = [NSDictionary dictionaryWithObjectsAndKeys:
                              ^{NSLog(@"Log Block 1");}, @"Block1",
                              ^{NSLog(@"Log Block 2");}, @"Block2",
                              nil];

Затем я просматриваю словарь с помощью keyEnumerator. Я знаю, что блок хранится правильно, потому что я вызываю NSLog(@"%@", [blocks objectForKey:key]);во время перечисления и получаю <__NSGlobalBlock__: 0x100003750>. Итак, я знаю, что могу получить к нему доступ, но как я могу выполнить его в этот момент?

9
задан sud0 5 April 2012 в 22:03
поделиться