1

特定のコンテナの配列/ NSArray を、異なるクラスのいくつかのメソッドに転送したいと考えています。C++ では、構造体の Vector のようなものを使用します。

コンテナーは、次のような構造体で表すことができます。

struct test
{
    NSString * a;
    NSString * b;
    NSNumber * c;
}

コンテナーは、基本的にいくつかの文字列と数値を保持する必要があります。

Objective C で構造体を使用する代わりの方法はありますか? データの送信に使用できる他の「コンテナー」はありますか?

4

3 に答える 3

3

次のような単純なオブジェクトを作成することをお勧めします (私のブラウザでコンパイル):

@interface Container : NSObject {
    NSString* a;
    NSString* b;
    NSString* c;
}

@property (retain) NSString* a;
@property (retain) NSString* b;
@property (retain) NSString* c;

@end


@implementation Container

@synthesize a, b, c;

- (void) dealloc {
    [a release];
    [b release];
    [c release];
    [super release];
}
@end
于 2012-05-07T01:32:28.050 に答える
2

それがまさにオブジェクト (@interface) の目的だと思います。実際、objective-c クラスは結局のところ構造体にすぎません。アップルの開発者向けドキュメントでは、構造体を使用する代わりにクラスを作成することをお勧めしています。

于 2012-05-07T01:31:10.073 に答える
0

NS(Mutable)Dictionaryはそのようなものの汎用コンテナーとして機能できますが、通常は、常に同じキーを持つ辞書を使用する代わりに、クラスを作成する方が適切です。

于 2012-05-07T01:52:47.983 に答える