2013-03-17 110 views
0

我想將某個塊與某個標識符關聯起來,並將其存儲在字典中供以後檢索。塊+ ARC,堆棧和堆

我做錯了嗎?基本上我擔心我可能會傳入一個通過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]; 
} 

回答

2

查看this的回答。在刪除它之前,您需要先使用Block_copy(),然後再將其添加到字典和Block_release()中。