Может ли кто-нибудь объяснить, как работает этот синтаксис блока?
AStreamBuilder stream_builder = [ [ ^( void )
{
// some more code..
return (NSInputStream *)[ NSInputStream inputStreamWithFileAtPath: some_path ];
} copy ] autorelease ];
return stream_builder;
Какое название блока здесь? Почему блок копируется и затем автореализован? Я немного смущен тем, что происходит здесь. Блок, как говорят, возвращает AStreamBuilder, но внутри тела блока он возвращает экземпляр NSInputStream.
Может ли кто-нибудь сломать это?