그래서 여러 노드가 연결되기를 원합니다. 모든 노드에는 나가는 연결과 들어오는 연결이 있습니다. 하지만 ARC를 사용하고 있지만 NSMutableArrays는 누출을 생성합니다. 어떻게하면 개체를 제대로 출시 할 수 있습니까? 이미 자동 복구 풀을 사용하고 있습니다. ARC 양방향 관계
코드는 지금까지 있습니다 :
@interface TestObj()
@property(strong) NSMutableArray *incoming;
@property(strong) NSMutableArray *outgoing;
@end
@implementation TestObj
@synthesize incoming,outgoing;
- (id)init
{
self = [super init];
if (self) {
incoming = [NSMutableArray array];
outgoing = [NSMutableArray array];
}
return self;
}
-(void)addIncoming:(TestObj *)incomingN {
if([incoming indexOfObject:incomingN] == NSNotFound) {
[incoming addObject:incomingN];
[incomingN addOutgoing:self];
}
}
-(void)addOutgoing:(TestObj *)outgoingN {
if([outgoing indexOfObject:outgoingN] == NSNotFound) {
[outgoing addObject:outgoingN];
[outgoingN addIncoming:self];
}
}
좋은 답변입니다. 한 가지 추가 사항 : 보존주기에 대해 알고 있기 때문에 나중에 (예 : 배열에서 객체를 제거하여) 강력한 참조를 제거하여 문제를 해결할 수 있습니다. –
removeAllObjects를 호출하려고했지만 작동하지 않았습니다. – thomasguenzel