0

この辞書の配列を保存し、それを別のクラスで取得して、それに基づいて決定できるようにしたいと考えています。

これは配列です:

NSArray* cellInfoArray = [[NSArray alloc] initWithObjects:[manufacturerTextField text],[lotNumberTextField text],[expirationDateTextField text],[techniqueTextField text],[cellNumberTextField text],[rhhrProfileTextField text],[donorNumberTextField text], nil];
    NSArray* keyNamingArray = [[NSArray alloc] initWithObjects:@"company",@"lot",@"expDate",@"tech",@"whichCell",@"rhTyping",@"donor", nil];

NSArray* resultsArray = [[NSArray alloc] initWithObjects:[capitalDResultLabel text],[capitalCResultLabel text],[capitalEResultLabel text],[cResultLabel text],[eResultLabel text],[fStarResultLabel text],[cwResultLabel text],[vResultLabel text],[capitalKResultLabel text],[kResultLabel text],[kpaResultLabel text],[kpbResultLabel text],[jsaResultLabel text],[jsbResultLabel text],[fyaResultLabel text],[fybResultLabel text],[jkaResultLabel text],[jkbResultLabel text],[xgaResultLabel text],[leaResultLabel text],[lebResultLabel text],[capitalSResultLabel text],[sResultLabel text],[mResultLabel text],[nResultLabel text],[p1ResultLabel text],[luaResultLabel text],[lubResultLabel text], nil];

NSArray* antigenNames = [[NSArray alloc] initWithObjects:@"D",@"C",@"E",@"c",@"e",@"f*",@"Cw",@"V",@"K",@"k",@"Kpa",@"Kpb",@"Jsa",@"Jsb",@"Fya",@"Fyb",@"Jka",@"Jkb",@"Xga",@"Lea",@"Leb",@"S",@"s",@"M",@"N",@"P1",@"Lua",@"Lub", nil];

_cellInfo = [[NSMutableDictionary alloc] initWithObjects:cellInfoArray forKeys:keyNamingArray];
_resultDictionary = [[NSMutableDictionary alloc] initWithObjects:resultsArray forKeys:antigenNames];

finalCellOne = [[NSMutableDictionary alloc] initWithObjectsAndKeys:_cellInfo,@"clerk",_resultDictionary,@"theResults", nil];

これはおそらく基本的なことですが、いくつかのこと (アーカイバー、プロパティ リスト、nsuserdefaults) を試してみたところ、「null」が発生し続けています。

ユーザーはデータを変更できる必要があります。したがって、ファイルパスを使用する場合、2 番目のクラスもそれを認識している必要があります。

皆さんからのコードは必ずしも必要ではありません。これを行うために研究をどこに集中させるべきかについてのガイダンスが得られれば、それは高く評価されます. みんなありがとう

4

1 に答える 1

0

シングルトン クラスが役立つケースのように思えます。データへのアプリケーション全体のアクセスとシリアライゼーション/デシリアライゼーションは、シングルトンによって処理されます。

@interface ApplicationData : NSObject

+ (id)sharedData;

//  your class properties that expose the data

@end

@implementation ApplicationData

+ (id)sharedData {
    static dispatch_once_t pred;
    static ApplicationData *cSharedInstance = nil;

    dispatch_once(&pred, ^{ cSharedInstance = [[self alloc] init]; });
    return cSharedInstance;
}

// you'll need to provide for serialization/deserialization as you are doing now.

@end

その後、共有データへのアクセスは次の方法で行われます[[ApplicationData sharedData] cellInfoArray]

于 2012-10-07T06:02:24.737 に答える