У меня есть объект data
класса EquationData
.У меня также есть пользовательская ячейка tableview (balanceCell), которая имеет в качестве подпредставления настраиваемое текстовое поле (balanceCell.leftView).Текстовое поле имеет свойство типа NSMutableString equationOrder
, которое изменяется по мере того, как пользователь вводит текст.Я хочу, чтобы data
получал уведомления, когда к equationOrder
.
добавляется больше объектов * Что у меня есть в контроллере представления
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
equationCell = (EquationCell *) [tableView dequeueReusableCellWithIdentifier:@"equationCell"];
if (equationCell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"EquationCell" owner:self options:nil];
equationCell = (EquationCell*) [nib objectAtIndex:0];
[equationCell.leftView addObserver:data forKeyPath:@"equationOrder" options:NSKeyValueObservingOptionNew context:nil];
}
return equationCell;
}
Что у меня есть в реализации данных
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([keyPath isEqualToString:@"equationOrder"])
NSLog(@"called");
}
Однако «вызываемый» не отображается на экране.Я попытался использовать другие переменные для наблюдения data
, и я попытался изменить equationOrder
от свойства до просто переменной.
Как получить data
для получения уведомлений при изменении equationOrder
?(Я убедился, что объекты действительно добавляются в уравнение заказа)