ブロックを何らかの識別子に関連付け、後で取得できるように辞書に保存したいと考えています。
私はこれを間違っていますか?基本的に、setAction:forProduct を介してスタック上で宣言されたブロックを渡している可能性があり、参照が後で無効になるのではないかと心配しています。ARCはこれをキャッチするのに十分スマートですか?
typedef void (^ProductPurchased)();
-(void) setAction:(ProductPurchased)action forProduct:(NSString*)identifier;
@property (strong, nonatomic) NSMutableDictionary *actions;
-(void) setAction:(ProductPurchased) action forProduct:(NSString*)identifier
{
[self.actions setObject:action forKey:identifier];
}