Используя анализатор в XCode 4, я получаю предупреждения о возможных утечках памяти из-за установки свойства, подобного этому:
self.newDog.dogName = self.dogNameTextField.text;
Специальное предупреждение:
Свойство возвращает объект Objective C с счетом сохранения +1 (ссылка на владельца).
Объект, размещенный в строке 513, не упоминается позднее в этом пути выполнения и имеет счет сохранения +1 (объект утек)
Если я не установил свойство с помощью self, предупреждение исчезнет ... но я не уверен, не вызовет ли это других проблем, так как все, что я прочитал, в основном говорит, что всегда использовать self при установке / Получение недвижимости:
newDog.dogName = self.dogNameTextField.text;
Я что-то здесь не так делаю? Вот некоторый урезанный код из контроллера представления, где появляются предупреждения:
@interface AddDogViewController : UITableViewController {
Dog *newDog;
}
@property (nonatomic, retain) Dog *newDog;
@implementation AddDogViewController
@synthesize newDog;
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// some other code
self.newDog.dogName = self.dogNameTextField.text;
// some other code
}
- (void)dealloc {
[newDog release];
[super dealloc];
}
@end