以下代码表示警告为
Direct access to objective-c's isa is deprecated in favor of object_setClass() and object_getClass()
Run Code Online (Sandbox Code Playgroud)
码
if(object->isa == encodeState->fastClassLookup.stringClass)
{ isClass = JKClassString; }
else if(object->isa == encodeState->fastClassLookup.numberClass)
{ isClass = JKClassNumber; }
else if(object->isa == encodeState->fastClassLookup.dictionaryClass)
{ isClass = JKClassDictionary; }
else if(object->isa == encodeState->fastClassLookup.arrayClass)
{ isClass = JKClassArray; }
else if(object->isa == encodeState->fastClassLookup.nullClass)
{ isClass = JKClassNull; }
else
{
if([object isKindOfClass:[NSString class]])
{ encodeState->fastClassLookup.stringClass = object->isa; isClass = JKClassString; }
else if([object isKindOfClass:[NSNumber class]]) { encodeState->fastClassLookup.numberClass = object->isa; isClass = JKClassNumber; }
else if([object isKindOfClass:[NSDictionary class]]) { encodeState->fastClassLookup.dictionaryClass = object->isa; isClass = JKClassDictionary; }
else if([object isKindOfClass:[NSArray class]]) { encodeState->fastClassLookup.arrayClass = object->isa; isClass = JKClassArray; }
else if([object isKindOfClass:[NSNull class]]) { encodeState->fastClassLookup.nullClass = object->isa; isClass = JKClassNull; }
Run Code Online (Sandbox Code Playgroud)
我应该改变哪种警告?请帮帮我.
包括<objc/runtime.h>.
更换一切都像array->isa = _JKArrayClass;用object_setClass(array, _JKArrayClass)
所有的一切都像class = array.isa用class = object_getClass(array)
请参阅:iOS 7:'isa'已弃用