Одной из возможных причин является то, что вы потеряли блок.Блок создается в стеке, а не в куче.Поэтому, если вы хотите сохранить блок, вы должны скопировать его;это создаст копию блока в куче.
float (^ aVar) = [^ {return 0.0;} copy];
Конечно, вам также придется освободить егопозже.
Будьте осторожны, кто владеет копией блока.Внутри блока все ссылочные объекты автоматически сохраняются.Так что легко создать референсный цикл.Для этой проблемы вы можете использовать модификатор __block.Вы можете прочитать это http://thirdcog.eu/pwcblocks/