Iphone 试图从代理中编辑uitableviewcell不工作

Iphone 试图从代理中编辑uitableviewcell不工作,iphone,ios,uitableview,Iphone,Ios,Uitableview,我下面有一个委托方法,它在我的tableview中设置了几个字段。当按下其中一个tableview单元格时,它将加载一个子视图,其中包含一个或多个tableview单元格。当选中一个单元格时,它将从ViewController弹出视图,并将选定的值加载到最初选定的ParentView单元格中 这个主单元格影响我可以在第二个单元格中设置的内容。因此,当单击它时,它会显示与第一个选择相关的数据 我允许我的用户返回任何单元格以更改其选择。。或者他们可能回去想改变,但不想 在这种情况下,如果第一个单元格

我下面有一个委托方法,它在我的tableview中设置了几个字段。当按下其中一个tableview单元格时,它将加载一个子视图,其中包含一个或多个tableview单元格。当选中一个单元格时,它将从ViewController弹出视图,并将选定的值加载到最初选定的ParentView单元格中

这个主单元格影响我可以在第二个单元格中设置的内容。因此,当单击它时,它会显示与第一个选择相关的数据

我允许我的用户返回任何单元格以更改其选择。。或者他们可能回去想改变,但不想

在这种情况下,如果第一个单元格发生更改,则my parentview的第二个tableviewcell需要更改;如果第一个单元格的值发生更改,则保持不变

我有一个用于第一个单元格的委托,我正试图在这里控制第二个单元格的值,如下所示

- (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!=然后通过设置第二个单元格的内容,然后将man传递给oldMan,这样下次使用第一个单元格时,它就有一个值可供比较。但显然这似乎不起作用。是我的逻辑错误还是我的代码中有什么内容

这就是我在h中设置这些值的方式。它们都是@synthesis

//...
NSString *manufactureSearchObjectString;
    NSString *oldManufactureSearchObjectString;
    NSString *manufactureIdString;
    NSIndexPath *manufactureResultIndexPath;
//...

@property (copy) NSString *manufactureSearchObjectString;
@property (copy) NSString *oldManufactureSearchObjectString;
@property (copy) NSString *manufactureIdString;
@property (copy) NSIndexPath *manufactureResultIndexPath;
//...

您必须按如下方式比较NSString的值:

BOOL isEqual = [aString isEqualToString:bString]; // provide aString and bString
if (!isEqual)
{
    // code
}

您所做的是比较指针,对于相同值的字符串,指针可能不同。

您必须比较NSString的值,如下所示:

BOOL isEqual = [aString isEqualToString:bString]; // provide aString and bString
if (!isEqual)
{
    // code
}
您所做的是比较指针,对于相同值的字符串,指针可能不同