このクラッシュの原因を突き止めるのに苦労しています。
同じ画面に MapView と Tableview を持つ iPad アプリケーションがあります。ユーザーがテーブル内の行を選択して、マップ内の対応するピンを強調表示できるようにしようとしています。シミュレーターでは正常に動作します。デバイスではしばらくは動作しますが、それを続けると SIGSEGV でクラッシュします。理由がわかりません。
選択したテーブルビューの行からマップビューでピンを選択する場合にのみ発生するようです。
ここにコードがあります
Place *p = [self.results objectAtIndex:[indexPath row]];
NSArray *annon = [self.mapView annotations];
for ( int i = 0; i < [annon count]; i++)
{
NSObject *a = [annon objectAtIndex:i];
if ([a isKindOfClass:PlaceAnnotation.class])
{
PlaceAnnotation *pa = (PlaceAnnotation *)a;
if (p.placeid == pa.placeid)
{
[self.mapView selectAnnotation:pa animated:YES];
break;
}
}
}
このコードを実行した結果として発生するクラッシュの種類を次に示します。
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x9
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x317c4f78 0x317c1000 + 16248
1 CoreFoundation 0x3195576b 0x318c6000 + 587627
2 CoreFoundation 0x318cd644 0x318c6000 + 30276
3 CoreFoundation 0x318cf701 0x318c6000 + 38657
4 MapKit 0x36b061f3 0x36ab9000 + 315891
5 MapKit 0x36acf33d 0x36ab9000 + 90941
6 MapKit 0x36acf2f1 0x36ab9000 + 90865
7 MapKit 0x36ad29bd 0x36ab9000 + 104893
8 MapKit 0x36acdf03 0x36ab9000 + 85763
どんな助けでも大歓迎です。