-(void)addNode{
Node *node = [[Node alloc] init];
[node fromBytes:nodeData];
[neighborNodes addObject:[node retain]];
[node release];
}
假设我有类似的方法。正在分配节点并将其添加到NSMutableArray(neighborNodes是NSMutableArray ..)我不确定此处是否需要[node retain]语句。我可以这样做吗?我把保留的话拿出来并没有释放节点..哪一个是正确的?提前谢谢......
-(void)addNode{
Node *node = [[Node alloc] init];
[node fromBytes:nodeData];
[neighborNodes addObject:node];
}
答案 0 :(得分:5)
不需要它
addObject对对象执行保留
IOW
-(void)addNode{
Node *node = [[Node alloc] init];
[node fromBytes:nodeData];
[neighborNodes addObject:node];
[node release];
}
是正确的。