我试图在树中找到匹配的对象,所以我使用的是 ObjC 快速枚举。问题是我的方法找到匹配的值,点击返回线,然后将值设置为 nil 并继续迭代。这是我的方法:
+ (INONode *)findByUUID:(NSString*)uuid fromRootNode:(INONode*)node
{
for (INONode * childNode in [node children]) {
if ([[node uniqueID] isEqualToString:uuid]) {
break;
}
else {
[INONode findByUUID:uuid fromRootNode:childNode];
}
}
return node;
}
当我通过设置断点来跟踪代码执行时,中断被击中,然后转到返回行,然后返回到继续迭代的语句。我在这里想念什么?