1

アプリのデリゲートで NSMutableArray を宣言しています:

@property (nonatomic, copy) NSMutableArray * passengerLog;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
passengerLog = [[NSMutableArray alloc]init];

その後、後のクラスで次のように配列にアクセスします (del はアプリ デリゲートへの参照です)。

[del.passengerLog addObject:passenger];

奇妙なことに、この配列に 2 回目にオブジェクトを追加すると、この 2 番目のオブジェクトが配列に 2 回追加され、既にそこにあった元のオブジェクトが上書きされます。

誰でも助けることができますか?

ありがとう !

4

1 に答える 1

0

2 回追加されていて、最初のものを置き換えていますか? アプリ デリゲートの実装では、次のプロパティを参照する必要があります。

self.passengerLog = [[NSMutableArray alloc] init];

これにより、奇妙な動作が発生する可能性があります。

編集:

私たちがあなたを助けることができるように、いくつかのコードを投稿してください。これは、配列を割り当てる唯一の場所ですか? はいの場合、アレイの同じインスタンスを常に使用していることを確認してください。

于 2012-10-19T11:43:14.747 に答える