在线时间:8:00-16:00
132-9538-2358
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
JSPatch
overrideMethod
class
NSCoping
NSObject
static void _initJPOverideMethods(Class cls) { if (!_JSOverideMethods) { _JSOverideMethods = [[NSMutableDictionary alloc] init]; } if (!_JSOverideMethods[cls]) { _JSOverideMethods[(id<NSCopying>)cls] = [[NSMutableDictionary alloc] init]; } }
此处JSPatch在初始化缓冲区的时候将Class作为Dictionary的key进行保存,而Dictionary在设置key-value时会拷贝 key值,所以会导致给一个不遵循NSCoying协议的对象发送了copyWithZone:消息,导致崩溃。
Class
Dictionary
key
key-value
NSCoying
copyWithZone:
objc_msgSend
评论
请发表评论