-1

クラスAとクラスBの2つのクラスがあります

クラス A の配列の値にアクセスし、その値を引数として配列を取るクラス B のメソッドに渡したいと考えています。

クラス B にグローバル変数を作成しました

@property (nonatomic,retain) NSMutableArray *globalArray;
@synthesize globalArray;

クラス AI では、インスタンス配列変数を使用してローカル配列の値を格納しています。

globalArray =[[NSMutableArray alloc]initWithArray:localArray];

しかし、クラス B からインスタンス配列にアクセスしようとすると、カウントが 0 と表示されます。

クラスBIには次のコードがあります

[self insertingArrayHere:globalArray]

既にヘッダーをインポートしましたが、何が間違っているのかわかりません。

4

1 に答える 1

0

より正確な答えを得るには、さらに多くのコードを確認する必要がありますが、

あなたの質問から、クラスの aclassと anを区別していないと思います。instance

これはおそらく、コード内のある場所でインスタンス A1 を作成し、別の場所でインスタンス A2 を作成していることを意味します。そして、なぜ A1 と A2 に同じ配列が含まれていないのか疑問に思っています。
理由は簡単です。それらは 2 つの異なるインスタンスです (2 つの異なるオブジェクト / 2 つの異なる車)。

インスタンス プロパティglobalArrayはグローバル変数ではありません。

singleton問題を解決するには、パターンを確認する必要があります。

于 2013-02-01T02:09:39.253 に答える