ASIHTTPRequestプロセス内で使用されるNSMutableArrayがあります。データのロードが完了すると、NSMutableArrayは情報を保存します。データを次のように追加すると
[MyArray addObject];
エラーはありません。ただし、データを次のように挿入すると
[MyArray insertObject:[UIImage imageWithData:data] atIndex:buttonTag];
mallocエラーまたはインデックスの範囲外の例外の問題があります。これはスレッドセーフの誤動作だと思います。これに対する解決策はありますか?
編集済み:appdelegate.h内
@interface{
NSMutableArray *imageArray;
}
appdelegate.mで
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
imageArray = [[NSMutableArray alloc] init];
return YES;
}
AsyncImageView.hで
@interface{
AppDelegate *delegate
}
AsyncImageView.m
- (void)connectionDidFinishLoading:(NSURLConnection*)theConnection {
delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.imageArray insertObject:[UIImage imageWithData:data] atIndex:buttonTag];
}