2011-02-21 4 views
1
-(void)addNode{ 
     Node *node = [[Node alloc] init]; 
     [node fromBytes:nodeData]; 
     [neighborNodes addObject:[node retain]]; 
     [node release]; 
} 

내가 그런 방법을 가지고 있다고 가정 해 봅시다. 노드가 할당되고 NSMutableArray에 추가됩니다. (neighborNodes는 NSMutableArray입니다.) 여기서 [node retain] 문이 필요하지는 않습니다. 내가 이걸 할 수 있을까? 나는 말을 꺼내고 마디를 풀지 않았다. 어느 것이 맞습니까? 미리 감사드립니다 ...목표 C, A 참조 계산에 관한 질문

-(void)addNode{ 
     Node *node = [[Node alloc] init]; 
     [node fromBytes:nodeData]; 
     [neighborNodes addObject:node]; 
} 
+1

귀하의 질문에 대한 답변을 수락하지 않은 것으로 나타났습니다. 인용 스택 오버플로 FAQ, '어떤 대답이 가장 도움이되는지 결정한 경우 대답의 왼쪽에있는 확인란 개요를 클릭하여 수용 한 대답으로 표시하십시오. 이렇게하면 다른 사람들이 귀하의 질문에 대한 좋은 대답을 얻었음을 알게됩니다. 이렇게하면 커뮤니티에서 가치를 얻고있는 다른 사람들을 보여주기 때문에 유용합니다. (만약 당신이 이것을하지 않으면, 사람들은 정중하게 돌아가서 더 많은 질문에 대한 대답을 받아들이라고 요청할 것입니다.) ' –

+1

OMG ... 나는 그것을 몰랐습니다. 그것을 지적 해 주셔서 감사합니다. – codereviewanskquestions

+0

이 질문의 최선의 대답을 너무 좋아하는 것을 잊지 마세요! 4 개의 upvotes가 있어도 만족스럽지 않다면, 이유에 대해 자세히 설명하는 코멘트를 남겨 두십시오. – SomeRandomGuy

답변

5

없음이 아니 필요

addObject는

IOW

-(void)addNode{ 
     Node *node = [[Node alloc] init]; 
     [node fromBytes:nodeData]; 
     [neighborNodes addObject:node]; 
     [node release]; 
} 

이 올 것이다 개체에 유지되지 않습니다.