Iphone 在类之间传递数组-奇怪的错误?

Iphone 在类之间传递数组-奇怪的错误?,iphone,ios,objective-c,Iphone,Ios,Objective C,所以我在类A中创建并填充一个数组,然后在类B中调用类A的一个方法来获取数组 A.h级 A.m级 } 然后在B班,我做这个: B.m级 上面的方法非常有效-数组计数显示1,这是测试应该做的 但是,当我这样做时: A.m班 计数为零 因此,我在ClassA.m中的另一个方法中检查了feedDownload数组,该方法在getFeedsArray方法调用之前被调用,它从该方法返回正确的值 但是,当从ClassB.m调用getFeedsArray时,数组计数为零。但第二个版本的getFeedsArray

所以我在类A中创建并填充一个数组,然后在类B中调用类A的一个方法来获取数组

A.h级

A.m级

}

然后在B班,我做这个:

B.m级

上面的方法非常有效-数组计数显示1,这是测试应该做的

但是,当我这样做时:

A.m班

计数为零

因此,我在ClassA.m中的另一个方法中检查了feedDownload数组,该方法在getFeedsArray方法调用之前被调用,它从该方法返回正确的值

但是,当从ClassB.m调用getFeedsArray时,数组计数为零。但第二个版本的getFeedsArray代码的值仅为零:

因此,如果我这样做,并且不接触任何其他代码:

-(NSMutableArray* )getFeedsArray
{
    NSMutableArray *myArray;
    if (!myArray)
        {
        myArray = [[NSMutableArray alloc]init];
        [myArray addObject: @"hello"];
        }


    NSLog (@"Feeds array: %d", [myArray count ]);

    return myArray;

}
结果: Feeds数组:ClassA.m otherMethod中的1-otherMethod调用getFeedsArray方法。 提要数组:1 数组中的项:ClassB.m中的1

如果我随后像这样更改代码:

-(NSMutableArray* )getFeedsArray
{
    NSLog (@"Feeds array: %d", [feedsDownload count ]);

    return feedsDownload; 

}
结果: Feeds数组:ClassA.m otherMethod中的1-otherMethod调用getFeedsArray方法。 源数组:0 数组中的项:ClassB.m中的0

看来第二次调用getFeedsArray时,数组的计数为零

对不起,这里发生了什么事,我错过了什么


谢谢

简单的家伙…在getFeedArray的第二个版本中,你甚至没有初始化数组,也没有向数组中添加任何内容..那么在这种情况下,你期望得到什么输出呢?feedsDownload在你离开类A时会变为null。因此,当feedsDownload尚未初始化时,你正在从类B调用一个方法..@Xman feedsDownload数组已经在代码中进行了初始化。这就是为什么在第一次从otherMethod调用getFeedsArray时,我得到了正确的帐户。但是当ClassB调用它时,我得到的是零。我还尝试重新初始化它,但这与它无关。感谢这里的输入断点,并检查它是否有数据。更重要的是….-确保**feedsDownload**声明为全局
-(void)loadData
{

    ClassA *classA = [[ClassA alloc]init];

         NSMutableArray *mutableArray = [classA getFeedsArray];

           NSLog (@"Items in Array: %d", [mutableArray count]);
}
-(NSMutableArray* )getFeedsArray
{


    NSLog (@"Feeds array: %d", [feedsDownload count ]);

    return feedsDownload; 

}
-(NSMutableArray* )getFeedsArray
{
    NSMutableArray *myArray;
    if (!myArray)
        {
        myArray = [[NSMutableArray alloc]init];
        [myArray addObject: @"hello"];
        }


    NSLog (@"Feeds array: %d", [myArray count ]);

    return myArray;

}
-(NSMutableArray* )getFeedsArray
{
    NSLog (@"Feeds array: %d", [feedsDownload count ]);

    return feedsDownload; 

}