_object_set_associative_reference(id object, const void *key, id value, uintptr_t policy)
{
//isa有一位信息为禁止关联对象,如果设置了,直接报错
if (!object && !value) return;
// 判断runtime版本是否支持关联对象
if (object->getIsa()->forbidsAssociatedObjects())
_objc_fatal("objc_setAssociatedObject called on instance (%p) of class %s which does not allow associated objects", object, object_getClassName(object));