当前位置:K88软件开发文章中心编程语言Objective-CObjective-C01 → 文章内容

AOP

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-10 11:12:25

@"label" : @"Logout with Facebook" {
, @{ @"class" : @"ZOCMainViewController", @"selector" : @"loginView:handleError:", @"label" : @"Login error with Facebook" {
, @{ @"class" : @"ZOCMainViewController", @"selector" : @"shareButtonPressed:", @"label" : @"Share button" {
] {
;
{
这个提及的架构在 Github 的EF Education First 中托管 - (void)setupWithConfiguration:(NSDictionary *)configuration{ // screen views tracking for (NSDictionary *trackedScreen in configuration[@"trackedScreens"]) { Class clazz = NSClassFromString(trackedScreen[@"class"]);
[clazz aspect_hookSelector:@selector(viewDidAppear:) withOptions:AspectPositionAfter usingBlock:^(id<
AspectInfo>
aspectInfo) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSString *viewName = trackedScreen[@"label"];
[tracker trackScreenHitWithName:viewName];
{
);
{
];
{
// events tracking for (NSDictionary *trackedEvents in configuration[@"trackedEvents"]) { Class clazz = NSClassFromString(trackedEvents[@"class"]);
SEL selektor = NSSelectorFromString(trackedEvents[@"selector"]);
[clazz aspect_hookSelector:selektor withOptions:AspectPositionAfter usingBlock:^(id<
AspectInfo>
aspectInfo) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ UserActivityButtonPressedEvent *buttonPressEvent = [UserActivityButtonPressedEvent eventWithLabel:trackedEvents[@"label"]];
[tracker trackEvent:buttonPressEvent];
{
);
{
];
{
{

上一页  [1] [2] 


AOP