 <p>simple:</p> <pre><code>@interface MONBlackStyle : NSObject // &lt;&lt; new class, not category + (void)willPresentAlertView:(UIAlertView *)alertView1; @end @interface MONOrangeStyle : NSObject // &lt;&lt; new class, not category + (void)willPresentAlertView:(UIAlertView *)alertView1; @end </code></pre> <p>no category required. of course, the alert parameter is redundant when you use that category on <code>UIAlertView</code> and of course the definitions of the messages above could call some other category method if access is the issue. also note that in this exact example, the delegate would be set as such: <code>alert.delegate = [MONOrangeStyle class];</code> that's one step in the right direction but more steps could be taken. good luck.</p>