0
私は現在、initWithDecoderを使用してデータをデコードしています。私が気付いた事の一つは、スコープ内の変数を見ることができないので、私が意図したとおりの振る舞いをしないときです。NSDataをデコードする
最初に私はすべてエンコードしますデータ:
self.numItems = [self.myArray count];
をしてinitWithCoder内私は
を次のようにエンコードされたNSDataを反復して復号化するために期待しています。同じクラス内-(void) encodeWithCoder: (NSCoder *) encoder
{
for(BaseGroup *attackCard in myArray)
{
[encoder encodeObject: attackCard];
}
}
は私が持っているアイテムの数をメモしておきます
-(id) initWithCoder: (NSCoder *) decoder
{
for(int i =0; i < self.numItems; i++)
{
[self.myArray addObject:[decoder decodeObject]];
}
return self;
}
問題は、initWithCoderが変数numItemsからスコープの外にあるため、まったく反復しないということです。これを回避する方法はありますか?
どういう意味ですか? – godzilla
私の答えにいくつかのコードを追加しました...助けて欲しいです... – sergio
Sergioさん、働いているようですが、さらにテストを実行する必要があります - 簡単な質問 - 新しい値を割り当てる前に配列を解放する必要があります。 ? – godzilla