美文网首页
野指针调用问题

野指针调用问题

作者: 萨缪 | 来源:发表于2020-05-10 00:08 被阅读0次

第二次出现此问题 第一次是Unity时,
我们一定要注意 在某个方法中 调用一个回调或者一个函数时,参数是指针类型,那么一定不要传入一个在该函数中直接声明的指针!!!

- (void)SuccessToLoad:(ExpressAd *)ExpressAd views:(NSArray<__kindof AdView *> *)views
{
    NSLog(@"%s",__FUNCTION__);
    self.AdViews = [NSMutableArray arrayWithArray:views];
    id viewArray = views;
    void *p = (__bridge void *)self.AdViews;
    self.onSuccessToLoad(self.context, p, [self.AdViews count]);
}

注意上面的一句

void *p = (__bridge void *)self.AdViews;

如果使用viewArray 对 p进行赋值的话
那么他的生命周期就只是在这个函数中! 出了函数作用域就会被释放!
所以得用一个全局存在的属性self.AdViews来对其进行赋值!!!

相关文章

  • 野指针调用问题

    第二次出现此问题 第一次是Unity时,我们一定要注意 在某个方法中 调用一个回调或者一个函数时,参数是指针类型,...

  • Xcode崩溃原因汇总

    调用野指针 野指针定义:C语言: 当我们声明1个指针变量,没有为这个指针变量赋初始值.这个指针变量的值是1个垃圾指...

  • 野指针问题

    游戏大厅和房间里都存有玩家指针,当玩家对象析构时没有清掉大厅和房间里的玩家指针

  • 野指针crash问题

    在使用gcd定时器的时候,取消定时器时忘记先判空处理,导致重复取消crash。特此记录一下。

  • 小问题代码

    1.野指针定位 1 野指针应该大多数都是没有容错或者调用没有地址的对象或者方法导致的 上面是能定位到地址的CLAS...

  • Thread1:EXC_BAD_ACCESS 错误

    描述:野指针,在对象被释放之后又调用了该对象 场景:在某个UIVIewController释放之后有调用了该Con...

  • Objective-C 内存管理(上)学习笔记

    一.开篇之初 内存管理解决的问题就是:1)防止野指针的生成(野指针:指向变量的指针还存在,但是所指向的内存已经被释...

  • 什么是野指针?什么是僵尸对象?

    野指针与僵尸对象 1. 野指针 1>C语言中的野指针:一个指针变量指向一块随机的空间,这个指针就是野指针当我们声明...

  • iOS野指针定位总结

    成因 野指针就是指向一个已删除的对象或者受限内存区域的指针。我们写C++的时候强调指针初始化为NULL,强调用完后...

  • malloc stack和malloc_history来定位野指

    malloc stack和malloc_history来定位野指针问题

网友评论

      本文标题:野指针调用问题

      本文链接:https://www.haomeiwen.com/subject/zivrnhtx.html