CoreString NSManagedObject 하위 클래스 인 TextNarration에 NSString, textURI 유형의 속성이 있습니다. 그 클래스는 NSCoding 프로토콜의 메소드를 구현 : initWithCoder와 encodeWithCoder이 방법 : 나는 새로운 인스턴스를 만들 때Objective-C NSString 변환 가능한 속성 메모리 누수
- (id) initWithCoder: (NSCoder *)coder
{
if (self = [super init])
{
self.textURI = [coder decodeObjectForKey:@"textURI"];
}
return self;
}
- (void) encodeWithCoder: (NSCoder *)coder
{
[coder encodeObject:textURI forKey:@"textURI"];
}
내가 같은 것을 할 :
TextNarration * textNarr = [[TextNarration alloc] init];
NSString * tURI = [[NSString alloc] initWithString:[dictionaryAction objectForKey:@"narrationURI"]];
//NSString * tURI = [[NSString alloc] initWithString:@"aspa"];
textNarr.textURI = tURI;
[action_collected addObject:textNarr];
[tURI release];
[textNarr release];
action_collected
내가 갈거야있는 NSArray입니다 내 모델 엔티티에 변형 가능한 속성으로 넣고 [dictionaryAction objectForKey:@"narrationURI"]
은 다른 컨텍스트에서 이전에 자동으로 재생 된 NSString입니다. 어떻게 그 문자열에 메모리 누수가 발생합니까? 악기를 보면이 클래스가 NSManagedObject의 서브 클래스가 아닌는 오토 릴리즈 문자열이 initWithString에서 retain
를 수신 (그리고 encodeWithCoder
두 번이라고합니다)