.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]];
}
}
}
任意のメソッドでvargarrを呼び出す際の問題。ただし、nslogの値は正しく返されますが、コードでgarrを使用すると、システムがクラッシュします。任意のアイデアplz
-(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は機能しません