I niedawno natknąć Apple document który pokazuje następującą deklarację właściwości dla bloku:Definiowanie bloków Objective-C jak właściwości - najlepsze praktyki
@interface XYZObject : NSObject
@property (copy) void (^blockProperty)(void);
@end
Ponadto, artykuł ten stwierdza:
Uwaga: Należy określić kopię jako atrybut właściwości, ponieważ blok musi zostać skopiowany, aby śledzić jego przechwycony stan poza zakresem oryginalnym. Nie jest to coś, o co musisz się martwić podczas korzystania z automatycznego liczenia odwołań, ponieważ dzieje się to automatycznie, ale najlepiej jest, gdy atrybut właściwości pokazuje wynikowe zachowanie. Aby uzyskać więcej informacji, zobacz Blogi - tematy programowania.
Przeczytałem również sugerowane Blocks Programming Topics, ale nie znalazłem tam niczego odpowiedniego.
Wciąż jestem ciekawy, dlaczego zdefiniowanie właściwości bloku jako "kopii" jest najlepszą praktyką. Jeśli masz dobrą odpowiedź, spróbuj rozróżnić różnice między ARC i MRC, jeśli takie istnieją.
Dziękujemy
NB, dla początkujących, którzy zastanawiają się, jak do cholery użyć bloku :) http://stackoverflow.com/a/20760583/294884 – Fattie