Цель C - Освобождение с использованием Core-Data - PullRequest
0 голосов
/ 11 января 2011

Это правильный код с точки зрения управления памятью?

NSEntityDescription *description = [NSEntityDescription
                                        entityForName:@"Event" inManagedObjectContext:managedObjectContext];
NSFetchRequest *eventRequest = [[[NSFetchRequest alloc] init] autorelease];
[eventRequest setEntity:description];
[description release];

NSPredicate *eventPredicate = [NSPredicate predicateWithFormat:
                                      @"(event == %@)", [item objectForKey:@"event"]];
[eventRequest setPredicate:eventPredicate];

Или мне нужно выпустить описание и eventPredicate?

Спасибо

Ответы [ 2 ]

1 голос
/ 11 января 2011

Глядя на этот код, единственный ваш объект - это eventRequest.Он автоматически высвобождается, поэтому вам не нужно выпускать его снова.

Из того, что я вижу, исходя из соглашения об именах, все остальные объекты не принадлежат, поэтому вам не нужно их освобождать.

Линия [description release];, вероятно, вызовет сбой для вас где-нибудь внизу.

0 голосов
/ 11 января 2011

Вам не нужны никакие выпуски для этого кода.Вы должны прочитать документацию Apple , чтобы узнать почему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...