Objective c 如何在其他方法中调用和返回数组数据
我有下面的方法,我想调用它并在另一个方法中返回数组数据,但这不起作用。但是另一个方法中的self不返回任何数据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
- (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]];
}
}
}