Skip to content
This repository was archived by the owner on Dec 13, 2017. It is now read-only.

Commit 3413286

Browse files
committed
Added checks for optional delegate method.
1 parent 6dea9f0 commit 3413286

3 files changed

Lines changed: 61 additions & 19 deletions

File tree

Classes/WPEditorViewController.m

Lines changed: 33 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,9 @@ - (void)didTouchMediaOptions
354354
animated:YES
355355
completion:nil];
356356
}
357-
[self.delegate editorTrackStat:WPEditorStatTappedImage];
357+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
358+
[self.delegate editorTrackStat:WPEditorStatTappedImage];
359+
}
358360
}
359361

360362
#pragma mark - Editor and Misc Methods
@@ -518,7 +520,9 @@ - (void)showHTMLSource:(UIBarButtonItem *)barButtonItem
518520
setSelected:NO];
519521
}
520522

521-
[self.delegate editorTrackStat:WPEditorStatTappedHTML];
523+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
524+
[self.delegate editorTrackStat:WPEditorStatTappedHTML];
525+
}
522526
}
523527

524528
- (void)removeFormat
@@ -550,21 +554,27 @@ - (void)setBold
550554
{
551555
[self.editorView setBold];
552556
[self clearToolbar];
553-
[self.delegate editorTrackStat:WPEditorStatTappedBold];
557+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
558+
[self.delegate editorTrackStat:WPEditorStatTappedBold];
559+
}
554560
}
555561

556562
- (void)setBlockQuote
557563
{
558564
[self.editorView setBlockQuote];
559565
[self clearToolbar];
560-
[self.delegate editorTrackStat:WPEditorStatTappedBlockquote];
566+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
567+
[self.delegate editorTrackStat:WPEditorStatTappedBlockquote];
568+
}
561569
}
562570

563571
- (void)setItalic
564572
{
565573
[self.editorView setItalic];
566574
[self clearToolbar];
567-
[self.delegate editorTrackStat:WPEditorStatTappedItalic];
575+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
576+
[self.delegate editorTrackStat:WPEditorStatTappedItalic];
577+
}
568578
}
569579

570580
- (void)setSubscript
@@ -576,7 +586,9 @@ - (void)setUnderline
576586
{
577587
[self.editorView setUnderline];
578588
[self clearToolbar];
579-
[self.delegate editorTrackStat:WPEditorStatTappedUnderline];
589+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
590+
[self.delegate editorTrackStat:WPEditorStatTappedUnderline];
591+
}
580592
}
581593

582594
- (void)setSuperscript
@@ -588,21 +600,27 @@ - (void)setStrikethrough
588600
{
589601
[self.editorView setStrikethrough];
590602
[self clearToolbar];
591-
[self.delegate editorTrackStat:WPEditorStatTappedStrikethrough];
603+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
604+
[self.delegate editorTrackStat:WPEditorStatTappedStrikethrough];
605+
}
592606
}
593607

594608
- (void)setUnorderedList
595609
{
596610
[self.editorView setUnorderedList];
597611
[self clearToolbar];
598-
[self.delegate editorTrackStat:WPEditorStatTappedUnorderedList];
612+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
613+
[self.delegate editorTrackStat:WPEditorStatTappedUnorderedList];
614+
}
599615
}
600616

601617
- (void)setOrderedList
602618
{
603619
[self.editorView setOrderedList];
604620
[self clearToolbar];
605-
[self.delegate editorTrackStat:WPEditorStatTappedOrderedList];
621+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
622+
[self.delegate editorTrackStat:WPEditorStatTappedOrderedList];
623+
}
606624
}
607625

608626
- (void)setHR
@@ -698,7 +716,9 @@ - (void)linkBarButtonTapped
698716
} else {
699717
[self showInsertLinkDialogWithLink:self.editorView.selectedLinkURL
700718
title:[self.editorView selectedText]];
701-
[self.delegate editorTrackStat:WPEditorStatTappedLink];
719+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
720+
[self.delegate editorTrackStat:WPEditorStatTappedLink];
721+
}
702722
}
703723
}
704724

@@ -822,7 +842,9 @@ - (void)updateLink:(NSString *)url
822842
- (void)removeLink
823843
{
824844
[self.editorView removeLink];
825-
[self.delegate editorTrackStat:WPEditorStatTappedUnlink];
845+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
846+
[self.delegate editorTrackStat:WPEditorStatTappedUnlink];
847+
}
826848
}
827849

828850
- (void)quickLink

Classes/WPLegacyEditorViewController.m

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -443,28 +443,44 @@ - (void)formatToolbar:(WPLegacyEditorFormatToolbar *)formatToolbar actionPressed
443443
{
444444
switch (formatAction) {
445445
case WPLegacyEditorFormatActionBold:
446-
[self.delegate editorTrackStat:WPEditorStatTappedBold];
446+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
447+
[self.delegate editorTrackStat:WPEditorStatTappedBold];
448+
}
447449
break;
448450
case WPLegacyEditorFormatActionItalic:
449-
[self.delegate editorTrackStat:WPEditorStatTappedItalic];
451+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
452+
[self.delegate editorTrackStat:WPEditorStatTappedItalic];
453+
}
450454
break;
451455
case WPLegacyEditorFormatActionUnderline:
452-
[self.delegate editorTrackStat:WPEditorStatTappedUnderline];
456+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
457+
[self.delegate editorTrackStat:WPEditorStatTappedUnderline];
458+
}
453459
break;
454460
case WPLegacyEditorFormatActionDelete:
455-
[self.delegate editorTrackStat:WPEditorStatTappedStrikethrough];
461+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
462+
[self.delegate editorTrackStat:WPEditorStatTappedStrikethrough];
463+
}
456464
break;
457465
case WPLegacyEditorFormatActionLink:
458-
[self.delegate editorTrackStat:WPEditorStatTappedLink];
466+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
467+
[self.delegate editorTrackStat:WPEditorStatTappedLink];
468+
}
459469
break;
460470
case WPLegacyEditorFormatActionQuote:
461-
[self.delegate editorTrackStat:WPEditorStatTappedBlockquote];
471+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
472+
[self.delegate editorTrackStat:WPEditorStatTappedBlockquote];
473+
}
462474
break;
463475
case WPLegacyEditorFormatActionMore:
464-
[self.delegate editorTrackStat:WPEditorStatTappedMore];
476+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
477+
[self.delegate editorTrackStat:WPEditorStatTappedMore];
478+
}
465479
break;
466480
case WPLegacyEditorFormatActionMedia:
467-
[self.delegate editorTrackStat:WPEditorStatTappedImage];
481+
if ([self.delegate respondsToSelector: @selector(editorTrackStat:)]) {
482+
[self.delegate editorTrackStat:WPEditorStatTappedImage];
483+
}
468484
break;
469485

470486
}

Example/EditorDemo/WPViewController.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ - (void)editorViewController:(WPEditorViewController *)editorViewController fiel
118118
DDLogInfo(@"Editor field created: %@", field.nodeId);
119119
}
120120

121+
- (void)editorTrackStat:(WPEditorStat)stat {
122+
DDLogInfo(@"Editor stat tracked: %lu", (unsigned long)stat);
123+
}
124+
121125
- (void)editorViewController:(WPEditorViewController*)editorViewController
122126
imageTapped:(NSString *)imageId
123127
url:(NSURL *)url

0 commit comments

Comments
 (0)