Я, наверное, просто немного ленив здесь, но неся со мной. Вот моя ситуация. У меня есть класс с двумя неатомичными, сохраненными свойствами. Скажем:Можно ли настроить свойства @synthesized?
@property (nonatomic, retain) UITextField *dateField;
@property (nonatomic, retain) NSDate *date;
Я синтезирую их, как ожидалось, в реализации. Я хочу сказать, что всякий раз, когда вызывается установщик в дате, он также делает что-то с датойField (т. Е. Устанавливает свойство text на dateField, чтобы быть красиво отформатированной версией даты).
Я понимаю, что можно просто вручную переопределить Присваиватель даты в моей реализации, выполнив следующие действия:
- (void) setDate:(NSDate *)newDate {
if (date != newDate) {
[date release];
date = [newDate retain];
// my code to touch the dateField goes here
}
}
Что было бы удивительным, если я мог позволить Objective C обрабатывать цикл удержания/выпуска, но по-прежнему быть в состоянии «зарегистрировать» (из-за отсутствия лучшего термина) пользовательский обработчик, который будет вызываться после того, как произойдет сохранение/освобождение/набор. Я предполагаю, что это невозможно. Мой google-fu не придумал никакого ответа на этот вопрос, поэтому я подумал, что попрошу.
правой, так связан вопрос о том, где можно было найти один пример кода для того, что @synthesize делает в различных ситуациях (сохранить , присваивать, атомный и т. д.) –
Прохладный, спасибо за ответ. Я знаю о KVO в теории, но здорово получить пример. Спасибо, что указали на ошибку в коде установщика. Я написал это без фактического использования (очевидно). Я отредактирую свой вопрос, чтобы он не вводил в заблуждение других. –
Я должен быть слепым ... Что вы исправили в коде? О .. Вопрос, должно быть, был отредактирован. – Schultz9999