Objective c 使用执行选择器时内存泄漏

Objective c 使用执行选择器时内存泄漏,objective-c,memory,memory-leaks,performselector,Objective C,Memory,Memory Leaks,Performselector,我不知道上面是怎么回事,它崩溃了。有什么帮助建议吗 编辑: -(void)walkDOM:(SEL)visitor node:(QuadNode*)node { [self performSelector:visitor withObject:node]; /* ------>100% leaks shown here */ NSArray* children = node.children; if (children) { for (QuadNod

我不知道上面是怎么回事,它崩溃了。有什么帮助建议吗

编辑:

-(void)walkDOM:(SEL)visitor node:(QuadNode*)node {
    [self performSelector:visitor withObject:node]; /* ------>100% leaks shown here */
    NSArray* children = node.children;
    if (children) {
        for (QuadNode* child in children) {
            [self walkDOM:visitor node:child];
        }
    }
}

这只是编译器警告的问题,您可以使用以下方法抑制它们:

-(void)registerFramesetterVisitor:(TDOMNode*)node {
     [strMaker reset]; 
     [node registerFramesetter:self]; 
}

请看一看:您需要向我们展示
visitor
描述的方法。-(无效)registerFramesetterVisitor:(TDOMNode*)node{[strMaker reset];[node registerFramesetter:self];}在上面的代码中,我的选择器是registerFramesetterVisitor,
[NSObject performSelector:withObject:][/code>定义在哪里?我找不到它…@trojanfoe:它在NSObject协议参考中定义:鉴于OP使用了短语“此处显示100%泄漏”,这意味着他正在使用仪器查看这些泄漏;正如您所知,编译已经过时了……查看这些漏洞的另一种方法是使用Build&Analyze。在这种情况下,编译器会抱怨performSelector,这是我几周前遇到的问题;但仪器确实如此。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
    [self performSelector:visitor withObject:node];
#pragma clang diagnostic pop