240 发简信
IP属地:上海
  • 120
    最新获取ipa包地址how to get ipa

    需要用到的软件 Apple Configurator 2Charles 首先,安装好Apple Configurator 2 并连接好iphone 右键-->添加 -->Ap...

  • 120
    自己的app-PostWang上架了,希望大家多支持

    PostWang 最近上班越来越忙。。。一点空都没有。。。自己工作中遇到好多东西,想写出来分享一下,无奈实在没空。闲暇时光就自己一个人写自己的app了。写这个app是因为自己...

  • iOS-一句话仿秒拍、支付宝“更多”长按移动View,动态动画

    iOS-一句话仿秒拍、支付宝“更多”长按移动View,动态动画 最近,项目里面有个需求就是仿秒拍、支付宝“更多”长按移动View,动态动画。查阅了一下资料也发现有好几种的实现...

  • @畅行天下游 看了半天总算知道问题了,一年前玩这个框架的时候,测试的时候只实验了两个参数的拦截,没试过三个参数,现在看了一下, 问题出在参数处理上。
    /**
    * 无返回值调用
    *
    * @param target 调用目标
    * @param _cmd 调用方法
    * @param ... 参数
    */
    void vCallbackDynamicMethodIMP(id target,SEL _cmd,...) {
    //处理方法的参数
    // AOP_CREATE_INVOCATION(_cmd);

    NSMethodSignature *methodSignature = [target methodSignatureForSelector:_cmd];
    NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSignature];
    va_list arguments;
    va_start(arguments, _cmd);
    NSUInteger argumentCount = [methodSignature numberOfArguments];
    for (int index = 2; index < argumentCount; index++) {
    void *parameter = va_arg(arguments, void *);
    [invocation setArgument:¶meter atIndex:index];
    }
    va_end(arguments);

    execBeforeMethod(target, _cmd, invocation);
    execOrigMethod(target,_cmd,invocation);
    execAfterMethod(target, _cmd, invocation);
    }
    源码这里是拦截方法中,处理参数,通过反复调用va_arg这个宏,可以获取到参数列表中的每一个参数,看代码,根据参数数量argumentCount,由于函数本身带有2个参数,再循环argumentCount-2次,这样就可以取得原函数的所有参数,但是这个地方获取参数的时候,并不一定是有序的,我自己做了实验,三个参数的时候,参数1和参数3取得顺序和真实顺序不一致,导致了你这个问题。。我暂时没想到解决办法,建议你传参换成字典并且尽量只去拦截2个参数的方法。

    iOS中利用AOP(面向切面)原理实现拦截者功能 超详细过程

    2018年5月9日更新 最近有小伙伴在项目中集成了该框架,由于很久没有更新,该框架目前参数处理上会出很大问题,暂时无法解决,大家看这个就当学习一个思路。暂时不要拿到项目中使用...

  • @畅行天下游 NSArray *topChannels = @[@"我的订制", @"我的短信", @"短信订制"];
    NSString *tempStr = topChannels[segmentedControl.selectedIndex];
    [self showTopSegmentsName:tempStr];
    你这样试试,如果这样都报出EXC_BAD_ACCESS这个问题的话,就不清楚了。我这边自己写了一个demo,完全没问题。都可以拦截的
    NSArray *topChannels = @[@"我的订制", @"我的短信", @"短信订制"];
    [self loginWithAccount:[topChannels objectAtIndex:0] password:@"jaja"];

    iOS中利用AOP(面向切面)原理实现拦截者功能 超详细过程

    2018年5月9日更新 最近有小伙伴在项目中集成了该框架,由于很久没有更新,该框架目前参数处理上会出很大问题,暂时无法解决,大家看这个就当学习一个思路。暂时不要拿到项目中使用...

  • @畅行天下游 拦截方法不用给我看,给我看你传参,调这个showTopSegmentsName:(NSString *)name方法的代码,我看看问题出在哪

    iOS中利用AOP(面向切面)原理实现拦截者功能 超详细过程

    2018年5月9日更新 最近有小伙伴在项目中集成了该框架,由于很久没有更新,该框架目前参数处理上会出很大问题,暂时无法解决,大家看这个就当学习一个思路。暂时不要拿到项目中使用...

  • 详细代码给看一下呢。还有,这个拦截,不要去拦截有返回值的方法。

    iOS中利用AOP(面向切面)原理实现拦截者功能 超详细过程

    2018年5月9日更新 最近有小伙伴在项目中集成了该框架,由于很久没有更新,该框架目前参数处理上会出很大问题,暂时无法解决,大家看这个就当学习一个思路。暂时不要拿到项目中使用...

  • 2017计算机系书单推荐

    前言 我是一名iOS开发工程师,我想成为一名优秀的程序员,我虽然不是计算机系的学生,但我不能落后,我要努力成为优秀程序员的一员。我觉得每个人都有自己的想法和规划,一个理智的人...

  • 120
    iOS游戏开发没有你想的那么难--Hardest

    和大家聊聊天 有段日子没有发布过任何文字和代码了,之前的文章下很多网友留言也没有回复,其实每条评论我都有认真看.只是最近整个人有点迷茫,望大家理解.其实我很期盼大家和我聊聊天...

  • iOS---自定义cell的侧滑删除视图

    我是用的xib拉的自定义cell,在cell的.m文件中加入 -(void)layoutSubviews { [super layoutSubviews]; for (UIV...

  • 120
    教程 | 10分钟入门简笔画12(创意小插画)

    很多宝宝说想学创作,今天跟大家分享简笔画中的联想小插画。 所谓联想小插画,就是想到哪里画到哪里。首先确定一个主题,抓住主要元素,然后用装饰性字体、元素、花边来丰富画面。我尝试...

  • 120
    iOS即时通讯,从入门到“放弃”?

    前言 本文会用实例的方式,将iOS各种IM的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。 注:文中的所有的代码示例,在github中都有demo:iOS即...

  • 120
    国内 90%以上的 iOS 开发者,对 APNs 的认识都是错的

    前言: APNs 协议在近两年的 WWDC 上改过两次, 15 年 12 月 17 日更是推出了革命性的新特性。但在国内传播的博客、面试题里关于 APNs 的答案全都是旧的、...

  • 谢谢环儿支持~~~

    iOS中利用AOP(面向切面)原理实现拦截者功能 超详细过程

    2018年5月9日更新 最近有小伙伴在项目中集成了该框架,由于很久没有更新,该框架目前参数处理上会出很大问题,暂时无法解决,大家看这个就当学习一个思路。暂时不要拿到项目中使用...

个人介绍
一个大彻大悟总比别人晚两年的人