Skip to content

Instantly share code, notes, and snippets.

@marksands
Forked from berzniz/NSObject+Debounce.h
Created February 1, 2017 19:20
Show Gist options
  • Select an option

  • Save marksands/0aa06ccde8bc5a4633e4f49fddcb73d9 to your computer and use it in GitHub Desktop.

Select an option

Save marksands/0aa06ccde8bc5a4633e4f49fddcb73d9 to your computer and use it in GitHub Desktop.

Revisions

  1. @berzniz berzniz created this gist Jan 25, 2014.
    5 changes: 5 additions & 0 deletions NSObject+Debounce.h
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,5 @@
    @interface NSObject (Debounce)

    - (void)debounce:(SEL)action delay:(NSTimeInterval)delay;

    @end
    10 changes: 10 additions & 0 deletions NSObject+Debounce.m
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    @implementation NSObject (Debounce)

    - (void)debounce:(SEL)action delay:(NSTimeInterval)delay
    {
    __weak typeof(self) weakSelf = self;
    [NSObject cancelPreviousPerformRequestsWithTarget:weakSelf selector:action object:nil];
    [weakSelf performSelector:action withObject:nil afterDelay:delay];
    }

    @end