diff --git a/RIButtonItem.h b/RIButtonItem.h index 73bb6a4..c72dc36 100644 --- a/RIButtonItem.h +++ b/RIButtonItem.h @@ -11,12 +11,12 @@ @interface RIButtonItem : NSObject { NSString *label; - void (^action)(); + void (^action)(id alertViewOrActionSheet); } @property (retain, nonatomic) NSString *label; -@property (copy, nonatomic) void (^action)(); +@property (copy, nonatomic) void (^action)(id alertViewOrActionSheet); +(id)item; +(id)itemWithLabel:(NSString *)inLabel; -+(id)itemWithLabel:(NSString *)inLabel action:(void(^)(void))action; ++(id)itemWithLabel:(NSString *)inLabel action:(void(^)(id alertViewOrActionSheet))action; @end diff --git a/RIButtonItem.m b/RIButtonItem.m index 61803fc..a3aa3de 100644 --- a/RIButtonItem.m +++ b/RIButtonItem.m @@ -24,7 +24,7 @@ +(id)itemWithLabel:(NSString *)inLabel return newItem; } -+(id)itemWithLabel:(NSString *)inLabel action:(void(^)(void))action ++(id)itemWithLabel:(NSString *)inLabel action:(void(^)(id alertViewOrActionSheet))action; { RIButtonItem *newItem = [self itemWithLabel:inLabel]; [newItem setAction:action]; diff --git a/UIActionSheet+Blocks.m b/UIActionSheet+Blocks.m index b852947..14cae8b 100644 --- a/UIActionSheet+Blocks.m +++ b/UIActionSheet+Blocks.m @@ -87,7 +87,7 @@ - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSIn NSArray *buttonsArray = objc_getAssociatedObject(self, (__bridge const void *)RI_BUTTON_ASS_KEY); RIButtonItem *item = [buttonsArray objectAtIndex:buttonIndex]; if(item.action) - item.action(); + item.action(actionSheet); } if (self.dismissalAction) self.dismissalAction(); diff --git a/UIAlertView+Blocks.m b/UIAlertView+Blocks.m index e94f675..f60b3a6 100644 --- a/UIAlertView+Blocks.m +++ b/UIAlertView+Blocks.m @@ -65,7 +65,7 @@ - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)butto NSArray *buttonsArray = objc_getAssociatedObject(self, (__bridge const void *)RI_BUTTON_ASS_KEY); RIButtonItem *item = [buttonsArray objectAtIndex:buttonIndex]; if(item.action) - item.action(); + item.action(alertView); } objc_setAssociatedObject(self, (__bridge const void *)RI_BUTTON_ASS_KEY, nil, OBJC_ASSOCIATION_RETAIN_NONATOMIC);