1

配列として使用する必要がある構造を作成しようとしています。

同時に、別のビューからアクセスする必要があるため、より良い方法を学ぶまで、今のところグローバルにする必要があると思います(Google検索から多くの提案を試しました)

しかし、変数を 2 回宣言するにはどうすればよいでしょうか。

私は私の構造と配列の両方を意味しますか?

4

2 に答える 2

0

「グローバル変数」が適切な場合もありますが、単に「グローバル変数」としてではありません。Objective C でこれを行う適切な方法は、シングルトンを使用することです。

以下は .h 実装の一部です。

@interface MySingleton : NSObject

@property (nonatomic, strong) NSMutableArray *myArray;

+ (MySingleton *)sharedSingleton

@end

.m の実装は次のようになります。

@implementation MySingletion
@synthesize myArray;

static MySingleton *shared = nil;

- (id)init
{
    self = [super init];
    if(self)
    {
        myArray = [[NSMutableArray alloc] init];
    }
    return self;
}

+ (MySingleton *)sharedSingleton
{
    if(shared == nil)
    {
        shared = [[MySingleton alloc] init];
    }

    return shared;
}

次に、特定のクラスからこれにアクセスしたいときはいつでも、 #import "MySingleton.h" を実行して、次のように配列にアクセスします。

[MySingleton sharedSingleton].myArray

編集:ただし、これは、データを渡す必要があるたびにシングルトンで行う必要があるという意味ではありません。シングルトンは特定の状況では正しいですが、他の人が述べたように、ほとんどの状況で自分で次のクラスにデータを渡す必要があります。

于 2012-08-01T12:46:35.640 に答える
0

さて、私は新しいhとmファイルを作成しました。そこに多くの変数を入れました

.h ファイルで extends を使用し、.m ファイルで alloc init を使用する

次に、変数が必要な場所にこのファイルを含めます。おそらくもっと良い方法がありますが、これは私が理解できる唯一の方法でした。

于 2012-08-03T22:01:01.807 に答える