Я не уверен, правильно ли я понимаю ваш вопрос, но если вы пытаетесь заставить какой-либо код выполняться каждый раз, когда вызывается установщик или получатель, в принципе, есть два способа сделать это:
1) вы можете переписать синтезированный геттер и / или сеттер, как это
Заголовок:
@interface ...
{
NSString *example;
}
@property (nonatomic, copy) NSString *example;
Реализация:
@implementation ...
@synthesize aString
-(void)setExample:(NSString *)newExample
{
if (example != newExample)
{
[example autorelease];
example = [newExample copy];
// YOUR CODE HERE
}
}
... и аналогично для геттера.
2) вы можете наблюдать переменную через KVO и получать «обратный вызов» при каждом изменении переменной. Это, конечно, запускает ваш код только тогда, когда вызывается установщик, а не получатель.