Skip to content

Instantly share code, notes, and snippets.

@dfox
Created August 7, 2012 18:47
Show Gist options
  • Select an option

  • Save dfox/3288252 to your computer and use it in GitHub Desktop.

Select an option

Save dfox/3288252 to your computer and use it in GitHub Desktop.

Revisions

  1. David Fox renamed this gist Aug 7, 2012. 1 changed file with 0 additions and 0 deletions.
  2. David Fox created this gist Aug 7, 2012.
    16 changes: 16 additions & 0 deletions uiviewcontroller-method-swizzling
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,16 @@
    #import "UIViewController+EventInterceptor.h"
    #import "EventLogger.h"
    #import <objc/runtime.h>

    @implementation UIViewController (EventInterceptor)

    +(void) load
    {
    //Replace the noop viewDidAppear with our own implementation
    class_replaceMethod(self, @selector(viewDidAppear:), (IMP) viewDidAppear, "v@:@");
    }

    void viewDidAppear(id self, SEL _cmd, BOOL animated)
    {
    [EventLogger logEvent:EVENT_LOGGER_APPEARED forObject:[self view]];
    }