Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone NSArray到NSMutableArray_Iphone_Ios_Nsmutablearray_Nsarray - Fatal编程技术网

Iphone NSArray到NSMutableArray

Iphone NSArray到NSMutableArray,iphone,ios,nsmutablearray,nsarray,Iphone,Ios,Nsmutablearray,Nsarray,我正在尝试将NSArray传递给NSMutableArray,但在传递过程中遇到了一些问题,希望有人能提供帮助 - (void)CachedData:(NSArray *)gArray indexPath:(NSIndexPath *)gIndex dataSetToParse:(NSString *)string { //Set dataSetToParse so the parsing delegates if statment works correctly dataSet

我正在尝试将NSArray传递给NSMutableArray,但在传递过程中遇到了一些问题,希望有人能提供帮助

- (void)CachedData:(NSArray *)gArray indexPath:(NSIndexPath *)gIndex dataSetToParse:(NSString *)string
{
    //Set dataSetToParse so the parsing delegates if statment works correctly
    dataSetToParse = string;

    //Calls method that sets the accessory tick
    [self setAccessoryIndexPath:gIndex];

    //Set array that can be used in this view
    [parsedDataArray addObjectsFromArray:gArray];


    //Use this method to pass NSData object to startTheParsingProcess method and also to initalize indexPathVariable
    [self startSortingTheArray:gArray];
}
当我在parsedDataArray中添加对象后尝试记录它时,我得到的是

空的 无效的 .... 等等

任何帮助都将不胜感激

更新 这里的主要问题是我有4个数组。对于3个视图,先是主视图子视图,然后是子视图。 每个数组都有一个指向下一个数组的引用ID,我想在显示每个数组之前对其进行解析,以根据限制字符串检查其中是否有任何值。如果没有值,那么我会将用户发送回主视图,或者不允许他们选择包含没有相关值的数组的单元格。我希望你明白我在这里做什么

我提出的解决方案是在父视图中解析我要显示的值

如果你看看我的观点

view 1
- view 2
-- view 3
我需要视图1和2的解析委托,因为我需要检查视图2中视图3的值。。但是,这给我带来了一个问题,因为我使用相同的数组来避免冗余,以将值返回到主视图,并创建/检查子视图的值

因此,如果我不打算在视图3中显示任何内容,我试图跳过视图2的解析器委托,通过将已解析的数组传递到可变数组中,我将使用inside-didselectcell方法传递回数据


无论如何,我希望这是有意义的。。这是我认为我能做到这一点的唯一方法。。如果您知道得更清楚,请告诉我您的策略。

假设parsedDataArray是在其他地方声明的可变数组,这就没有意义了:

//Set array that can be used in this view
[parsedDataArray addObjectsFromArray:parsedDataArray];
除非要将parsedDataArray中的所有对象加倍。我想你的意思是:

//Set array that can be used in this view
[parsedDataArray addObjectsFromArray:gArray];

但是如果没有更多的上下文或解释,我无法确定。

假设parsedDataArray是在其他地方声明的可变数组,这就没有意义了:

//Set array that can be used in this view
[parsedDataArray addObjectsFromArray:parsedDataArray];
除非要将parsedDataArray中的所有对象加倍。我想你的意思是:

//Set array that can be used in this view
[parsedDataArray addObjectsFromArray:gArray];

但如果没有更多的上下文或解释,我无法确定。

通过在nslog中打印来检查garray是否包含数据

还要检查您是否已初始化parsedDataArray,如下所示
parsedDataArray=[[NSMutableArray alloc]init];在Viewdidload delegate中,通过在nslog中打印来检查garray是否包含数据

NSArray *array = [NSArray arrayWithObjects:@"Raja",@"Ram",nil];

NSMutableArray *muArray = [NSMutableArray arrayWithArray:array];
还要检查您是否已初始化parsedDataArray,如下所示
parsedDataArray=[[NSMutableArray alloc]init];在Viewdidload delegate

中,您似乎试图添加相同的数组。。。[parsedDataArray addObjectsFromArray:parsedDataArray];您正在将阵列的元素添加到原始阵列本身。。。!?[parsedDataArray addObjectsFromArray:parsedDataArray];看起来很奇怪:您正在将数组中的元素添加到数组本身?哎呀,我之所以添加它,是因为我删除了它,并尝试了其他操作。。看来我吃了麸皮冻!代码现在已更新。@H2CO是的,我是。我已在gArray上的上做了一个nslog,它将正确的数据打印到日志中。似乎您试图添加相同的数组。。。[parsedDataArray addObjectsFromArray:parsedDataArray];您正在将阵列的元素添加到原始阵列本身。。。!?[parsedDataArray addObjectsFromArray:parsedDataArray];看起来很奇怪:您正在将数组中的元素添加到数组本身?哎呀,我之所以添加它,是因为我删除了它,并尝试了其他操作。。看来我吃了麸皮冻!代码现在已更新。@H2CO是的,我是。我已在gArray上的上做了一个nslog,它将正确的数据打印到日志中。是的,它的名称为gArray。。现在的情况是,我有几个数组,可以在子视图中显示并从中选择值。。但是,我正在分析mainview中的一些数组,因为我需要知道是否有与以前选择的值相关的ID,如果没有,则我不会让它们选择下一个单元格,该单元格将生成子视图中要选择的下一个项目数组,因为没有项目。。。但是,这样做的结果是我必须跳过子视图中的解析方法。。然后不要添加元素,只需设置数组:[mutableArray setArray:otherArray];好的,我现在就试试,我只是试了一下,我在setArray之前放了一个NSLog,用gArray作为打印输出,然后在parsedDataArray的setArray之后,我得到了整个数组的打印输出,后面是null。。。太痛苦了。。。我在想也许它还没有分配?是的,它应该是加里。。现在的情况是,我有几个数组,可以在子视图中显示并从中选择值。。但是,我正在分析mainview中的一些数组,因为我需要知道是否有与以前选择的值相关的ID,如果没有,则我不会让它们选择下一个单元格,该单元格将生成子视图中要选择的下一个项目数组,因为没有项目。。。然而,这样做的结果是我不得不跳过子视图中的解析方法。不要添加
NSArray *array = [NSArray arrayWithObjects:@"Raja",@"Ram",nil];

NSMutableArray *muArray = [NSMutableArray arrayWithArray:array];

元素,只需设置数组:[mutableArray setArray:otherArray];好的,我现在就试试,我只是试了一下,我在setArray之前放了一个NSLog,用gArray作为打印输出,然后在parsedDataArray的setArray之后,我得到了整个数组的打印输出,后面是null。。。太痛苦了。。。我想可能还没有分配?这应该是arrayWithArray,而不是arrayWithArray这应该是arrayWithArray,而不是arrayWithArray