Check that delegate implements optional methods before calling them

This commit is contained in:
achmizs 2016-01-12 15:28:03 -05:00
parent fb1a3e4395
commit 2d8e245ced

View File

@ -501,7 +501,10 @@ static NSDictionary* ircNumericCodeList;
- (void)CTCPReplyReceived:(NSData *)reply fromUser:(NSData *)nick
{
[_delegate CTCPReplyReceived:reply fromUser:nick session:self];
if([_delegate respondsToSelector:@selector(CTCPReplyReceived:fromUser:session:)])
{
[_delegate CTCPReplyReceived:reply fromUser:nick session:self];
}
}
- (void)CTCPActionPerformed:(NSData *)action byUser:(NSData *)nick atTarget:(NSData *)target
@ -522,12 +525,18 @@ static NSDictionary* ircNumericCodeList;
- (void)unknownEventReceived:(NSData *)event from:(NSData *)origin params:(NSArray *)params
{
[_delegate unknownEventReceived:event from:origin params:params session:self];
if([_delegate respondsToSelector:@selector(unknownEventReceived:from:params:session:)])
{
[_delegate unknownEventReceived:event from:origin params:params session:self];
}
}
-(void)numericEventReceived:(NSUInteger)event from:(NSData *)origin params:(NSArray *)params
{
[_delegate numericEventReceived:event from:origin params:params session:self];
if([_delegate respondsToSelector:@selector(numericEventReceived:from:params:session:)])
{
[_delegate numericEventReceived:event from:origin params:params session:self];
}
}
@end