次のコード行があります
NSMutableArray *marray = [[NSArray arrayWithObjects: @"4", @"1", @"9", nil]mutableCopy];
次の行に置き換えたい
NSMutableArray *marray = [[NSMutableArray alloc]initWithArray:garr];
ここで、garrはグローバルメソッドからのグローバル配列です。
問題は、最初の行を呼び出すときにコードが正常に機能することですが、2番目の行を使用するとコードがクラッシュします。ヘルプとアイデアに感謝します。最初の行はNSArrayですが、garr変数のソースはNSMutable配列です。ギャル
garr = [[NSMutableArray alloc]init];
for (int x = 0; x < 10; x++) {
[garr addObject:[NSNumber numberWithInt: arc4random()%200]];
エラーメッセージコンソールエラーは次のとおりです:2012-09-02 14:46:42.976 sort_alg [1561:207]-[NSCFNumber UTF8String]:認識されないセレクターがインスタンス0x4b1a170に送信されました2012-09-02 14:46:42.978 sort_alg [1561: 207] *キャッチされなかった例外によるアプリの終了'NSInvalidArgumentException'、理由:'-[NSCFNumber UTF8String]:認識されないセレクターがインスタンス0x4b1a170に送信されました' *最初のスローでスタックを呼び出します:– </ p>
これは、最終値を生成するコードです
NSString *element;
NSEnumerator *iterator = [marray objectEnumerator];
while ((element = [iterator nextObject]) != nil)
printf("%s ", [element UTF8String]);
printf("\n");
[marray release]; // array needs to be released!
[pool release];
ありがとう