
NSArray> *FBGetObjectStrongReferences(id obj,
NSMutableDictionary> *> *layoutCache) {
NSMutableArray> *array = [NSMutableArray new];
__unsafe_unretained Class previousClass = nil;
__unsafe_unretained Class currentClass = object_getClass(obj);
while (previousClass != currentClass) {
NSArray<id> *ivars;
if (layoutCache && currentClass) {
ivars = layoutCache[currentClass];
}
if (!ivars) {
ivars = FBGetStrongReferencesForClass(currentClass);
if (layoutCache && currentClass) {
layoutCache[currentClass] = ivars;
}
}
[array addObjectsFromArray:ivars];
previousClass = currentClass;
currentClass = class_getSuperclass(currentClass);
}
return [array copy];
}
问题总结:
layoutCache[currentClass] = ivars; 这行代码报的错,注释掉就能正常编译

NSArray> *FBGetObjectStrongReferences(id obj, NSMutableDictionary> *> *layoutCache) { NSMutableArray> *array = [NSMutableArray new];__unsafe_unretained Class previousClass = nil;
__unsafe_unretained Class currentClass = object_getClass(obj);
while (previousClass != currentClass) {
NSArray<id> *ivars;
}
return [array copy];
}
问题总结:
layoutCache[currentClass] = ivars; 这行代码报的错,注释掉就能正常编译