3

だから私はこの方法を持っています:

-(void)addLaneToRacingLanes:(UITapGestureRecognizer*)sender{


    laneDataObject *data=[self.laneDataObjects objectAtIndex:sender.view.tag];
    [self.racingLanes addObject:data];


    NSLog(@"%i",self.racingLanes.count);
    [sender.view setBackgroundColor:[UIColor yellowColor]];

}

送信者ビューのタグを使用して、そのビューに対応するデータオブジェクトを見つけます。これを使用して、これらのビューを更新する方法であるracingLanesに追加していますが、何らかの理由でlaneDataObjectsを追加できないという問題があります私のアレイレーシングレーンに。何か案は?

プロパティの設定方法は次のとおりです。

@property (strong,nonatomic)NSArray *laneDataObjects;
@property (strong,nonatomic) NSMutableArray *racingLanes;

私はすでにタグを実行しましたが、それらはすべて機能します。タグは、レーン 1 がタグ 0 でデータ オブジェクトが 0 の場合、レーン 2 がタグ 1 でデータが 1 のように機能します。私はすでにこれを事前にテストしました。そして、両方の laneDataObject 配列が適切に設定されていることを確認しました。私の racingLanes がカスタムのゲッターまたはセッターを使用していないためですか? どうすればそれを変更できますか?それが重要な場合に備えて、私は使用しました

NSLog(@" %i",self.racingLanes.count);

配列が空かどうかを調べます。

4

2 に答える 2

1

が初期化されていないことはほぼ確実ですracingLanes。追加しようとしているオブジェクトは非 nil であるため (それ以外の場合は例外がスローされます)、 は初期化されているracingLanes必要がありますnil

指定された初期化子でに設定racingLanesする必要があります。NSMutableArray

_racingLanes = [NSMutableArray array];
于 2012-11-25T02:49:26.853 に答える
0

-initクラスまたは-viewDidLoad関数でNSMutableArrayを確実に初期化しましたか?

// WITH ARC
self.racingLanes = [NSMutableArray array];

// WITHOUT ARC
self.racingLanes = [[NSMutableArray alloc] init];
于 2012-11-25T02:52:02.423 に答える