У меня есть этот метод делегата ниже, который устанавливает несколько полей в моем табличном представлении.Что происходит, когда одна из ячеек табличного представления нажата, она загружает подпредставление с большим количеством ячеек табличного представления, когда выбирается одна, извлекает представление из viewcontrolle и загружает значение, которое было выбрано, в ячейку родительских представлений, которая была первоначально выбрана.
Эта основная ячейка влияет на то, что я могу установить во второй ячейке.поэтому при щелчке на нем отображаются данные, относящиеся к первому выбору.
Я даю возможность моему пользователю вернуться в любую из ячеек, чтобы изменить свой выбор ... или, возможно, он вернется, думая, что хочет изменитьно не надо.
В этом случае для второй ячейки таблицы моего родительского вида необходимо будет либо измениться, если первая ячейка изменится, либо остаться прежней, если значение первой ячейки не изменится.
У меня есть этот делегат, который используется с первой ячейкой, и именно здесь я пытаюсь контролировать значение второй ячейки, как показано ниже.
- (void) setManufactureSearchFields:(NSArray *)arrayValues withIndexPath:(NSIndexPath *)myIndexPath
{
manufactureSearchObjectString = [[arrayValues valueForKey:@"MANUFACTURER"] objectAtIndex:0];
manufactureIdString = [[arrayValues valueForKey:@"MANUFACTURERID"] objectAtIndex:0]; //Restricts Models dataset
manufactureResultIndexPath = myIndexPath;
[self.tableView reloadData]; //reloads the tabels so you can see the value in the tableViewCell.
//need some sort of if statment here so that if the back button is pressed modelSearchObjectString is not changed..
if (oldManufactureSearchObjectString != manufactureSearchObjectString) {
modelResultIndexPath = NULL;
modelSearchObjectString = @"empty";
oldManufactureSearchObjectString = manufactureSearchObjectString;
}
}
Дело в том, что он входит в ifкаждый раз, даже если для первой ячейки выбрана одна и та же ячейка .. (в этом случае не следует вводить оператор if.
Я подумал, что смогу сделать это, проверив oldMan vrs man if! = then goи установите вторую ячейку, а затем передайте man в oldMan, чтобы в следующий раз, когда вы используете первую ячейку, она имела значение для сопоставления, но, очевидно, этого не видном, чтобы работать.Моя логика плохая или это что-то в моем коде.
вот как я устанавливаю эти значения в .h они все @ synthesized
//...
NSString *manufactureSearchObjectString;
NSString *oldManufactureSearchObjectString;
NSString *manufactureIdString;
NSIndexPath *manufactureResultIndexPath;
//...
@property (copy) NSString *manufactureSearchObjectString;
@property (copy) NSString *oldManufactureSearchObjectString;
@property (copy) NSString *manufactureIdString;
@property (copy) NSIndexPath *manufactureResultIndexPath;
//...