ios- -[__NSCFType invalidate]: unrecognized selector sent to instance 0x18894a30错误随笔

问题:app点支付按钮,跳到支付宝web页面,程序进入后台,程序卡死,支付完成或取消支付时,程序crash。

报错:-[__NSCFType invalidate]: unrecognized selector sent to instance 0x18894a30,错误原因是对已经销毁的对象,发送了消息,程序访问不到对象。

我集成了保利视频,发生错误的代码

 - (void)initPloyVideo

{

    PolyvSettings *polyvSettings = [[PolyvSettings alloc] init];

    [polyvSettings initVideoSettings:@"ylzOkbgQcn" Readtoken:@"AAiK2jiX0t-BAnX4n6CrX-xV0TfqPUML" Writetoken:@"ZDYlp4fGF8g100D-TYug02Z14idkcelP" UserId:@"00018093b1"];

}

这样的话,polyvSettings是局部变量,出了initPloyViedeo方法,polyvSettings为nil。再次进入程序时,向polyvSettings发消息,就是向已经释放了得内存发消息,程序crash。

改错之后的代码:

//先加一个成员变量,再AppDelegate里加成员变量,相当于整个工程的全局变量,程序销毁,polyvSettings才为nil,程序不销毁,polyvSettings不为nil;

@interface AppDelegate : UIResponder <MiPushSDKDelegate,UIApplicationDelegate>

{

    PolyvSettings *polyvSettings;

}

- (void)initPloyVideo

{

    polyvSettings = [[PolyvSettings alloc] init];

    [polyvSettings initVideoSettings:@"ylzOkbgQcn" Readtoken:@"AAiK2jiX0t-BAnX4n6CrX-xV0TfqPUML" Writetoken:@"ZDYlp4fGF8g100D-TYug02Z14idkcelP" UserId:@"00018093b1"];

}

这样的话,程序从后台回来,还可以对polyvSettings发送消息,执行方法,程序完美运行。

转载于:https://www.cnblogs.com/rankilau/p/4580744.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值