MessageListener 1.0.0

MessageListener 1.0.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Oct 2017

Maintained by Tangent.



  • By
  • TangentW

A tool for monitoring objc message calls.


Installation

Manually

  1. Download the source code.
  2. Drag files NSObject+Listener.h and NSObject+Listener.m into your project.

Usage

Use method listen.

For normal method

Objc

[self listen: @selector(touchesBegan:withEvent:) with:^(NSArray * _Nonnull parameters) {
	NSLog(@"Touches began");
}];

Swift

listen(#selector(ViewController.touchesBegan(_:with:))) { _ in
	print("Touches began")
}

For protocol method

Objc

[self listen: @selector(tableView:didSelectRowAtIndexPath:) in:@protocol(UITableViewDelegate) with:^(NSArray * _Nonnull parameters) {
	if (parameters.count != 2) return;
	NSIndexPath *indexPath = parameters[1];
	NSLog(@"Did selected row %ld", (long)indexPath.row);
}];

Swift

listen(#selector(UITableViewDelegate.scrollViewDidScroll(_:)), in: UITableViewDelegate.self).subscribe(next: { parameters in
	guard let tableView = parameters.first as? UITableView else { return }
		print(tableView.contentOffset.y)
})
_tableView.delegate = self

License

The MIT License (MIT)