我在 .h 文件中有以下内容作为全局变量
NSMutableArray *garr;
以及 .m 文件中的以下内容
- (void)roundone {
if (!garr) {
garr = [[NSMutableArray alloc]init];
for (int x = 0; x < 900; x++) {
[garr addObject:[NSNumber numberWithInt: arc4random()%600]];
}
}
}
以任何方法调用 var garr 的问题但是它正确返回 nslog 中的值但是当我在代码中使用 garr 时系统崩溃!!!任何想法请
-(IBAction)clicked:(id)sender{
NSLog(@"%@",garr);
//bubbleSort(array); // sort the array
int n = [garr count] ;
for (int i = 0; i < n-1; i++)
for (int j = 0; j < n-i-1; j++)
if ([[garr objectAtIndex: j] compare:[garr objectAtIndex: j+1]] ==
NSOrderedDescending)
//#define SWAP(arr, x, y)
do {
id oldX = [garr objectAtIndex: (j)];
// NSLog(@"%d %s",oldX ,oldX);
[garr replaceObjectAtIndex: (j) withObject: [garr objectAtIndex: (j+1)]];
[garr replaceObjectAtIndex: (j+1) withObject: oldX];
} while (0);
NSString *element;
NSEnumerator *iterator = [garr objectEnumerator];
while ((element = [iterator nextObject]) != nil)
NSLog(@"elments %@",element);
我没有使代码中的事情复杂化,但是当全局变量在方法内部时代码可以正常工作,但是当方法外部的 garr 时代码不起作用