Objective c 如何在其他方法中调用和返回数组数据

Objective c 如何在其他方法中调用和返回数组数据,objective-c,arrays,nsmutablearray,Objective C,Arrays,Nsmutablearray,我有下面的方法,我想调用它并在另一个方法中返回数组数据,但这不起作用。但是另一个方法中的self不返回任何数据 - (NSMutableArray *)glo { NSMutableArray *globalarray = [[NSMutableArray array]init]; for (int x = 0; x < 10; x++) { [globalarray addObject: [NSNumber numberWithInt: arc4rando

我有下面的方法,我想调用它并在另一个方法中返回数组数据,但这不起作用。但是另一个方法中的self不返回任何数据

- (NSMutableArray *)glo
{
    NSMutableArray *globalarray = [[NSMutableArray array]init];
    for (int x = 0; x < 10; x++) {
        [globalarray addObject: [NSNumber numberWithInt: arc4random()%200]];
        return globalarray ;
    }
}


-(IBAction)clicked_insertsort:(id)sender{
    [self glo];
}
-(NSMutableArray*)glo
{
NSMutableArray*globalarray=[[NSMutableArray]init];
对于(int x=0;x<10;x++){
[globalarray addObject:[NSNumber numberWithInt:arc4random()%200];
返回全球阵列;
}
}
-(iAction)单击\u insertsort:(id)发件人{
[自我格洛];
}

我确实尝试将代码中的某些部分替换为以下内容:

- (NSMutableArray *)glo
{
    NSMutableArray *globalarray = [[NSMutableArray array] init];
    for (int x = 0; x < 10; x++) {
        [globalarray addObject:[NSNumber numberWithInt: arc4random()%200]];
    }
    return globalarray; // pull out from the loop
}

更新:

如果希望在类中使用全局变量,则应定义以下内容:

@interface YourClass : NSObject {
    NSMutableArray *globalarray;
}

// ...

@end
方法如下(不需要返回值,因为变量现在可以从整个类中获得)

-(void)glo{
如果(!globalarray){
globalarray=[NSMutableArray];
对于(int x=0;x<10;x++){
[globalarray addObject:[NSNumber numberWithInt:arc4random()%200];
}
}            
}

我需要在clikked_insert方法中返回数组数据,但是控制台没有显示数据,但是我单独检查了随机代码,结果成功了fine@H2CO3,请参阅代码。。。我想,从这个意义上说。1.从循环内部返回值?2.调用方不关心返回值。我不明白它是否有效。@OracleOracle,什么是静态数组?在您的代码片段中没有静态数组。。。在
-glo
方法中只有一个本地数组。
@interface YourClass : NSObject {
    NSMutableArray *globalarray;
}

// ...

@end
- (void)glo {
    if (!globalarray) {
        globalarray = [NSMutableArray array];
        for (int x = 0; x < 10; x++) {
            [globalarray addObject:[NSNumber numberWithInt: arc4random()%200]];
        }
    }            
}