今天在使用js调用oc函数中时,加了一个定时任务,在定时任务中使用一个全局的变量来接收js传过来的值,
///用户id -(void)setUserID:(NSString*)uid { myUid = uid; }
结果在第二次执行的时候就报该错,程序闪退
could not load any Objective-C class information from the dyld shared cache. This will significantly reduce the quality of type information available
字面意思就是不能从动态共享缓存中读取oc的信息。没有找到比较好的解决方案,但是感觉应该是因为这个全局变量的问题,有可能是在第二次执行定时任务的时候这个全局变量已经被释放了,虽然我加上static关键词,但是还是没有效果,最后是用NSUserDefault存储起来该值解决了这个问题
///用户id -(void)setUserID:(NSString*)uid { [[NSUserDefaults standardUserDefaults] setObject:uid forKey:@"taskuid"]; }
这个只是暂缓之计,总感觉不是最好的解决方案,但是并没有搜到理想的答案,只是不清楚为什么myUid是一个NSString的值,而该值在第二次会释放掉了,暂时这么解决,如果谁有更好的方案麻烦可以说下,不胜感激
版权属于:东哥笔记 - DongGe.org
本文链接:https://dongge.org/blog/372.html
自2017年12月26日起,『转载以及大段采集进行后续编辑』须注明本文标题和链接!否则禁止所有转载和采集行为!