ここでは簡略化され、私のコードは次のとおりです。MutableArrayの外にオブジェクトを取り、新しいオブジェクトに配置
私は「SelectedBlockは、」配列のうちのブロックを削除するには、選択されたブロックをコピーしたいNSMutableArray* buildBlocks = [[[NSMutableArray alloc] initWithCapacity:0] retain];
Block* selectedBlock = [[[Block alloc] init] retain];
// Add several blocks to "buildBlocks"
for(int i=0; i < [buildBlocks count]; i++)
{
Block* tempBlock = [buildBlocks objectAtIndex:i];
if(tempBlock.selected)
{
// Move the block to the selected block
selectedBlock = tempBlock;
// Take the block out of the array
[buildBlocks removeObjectAtIndex:i];
}
}
// Some code later
if(selectedBlock.selected) // <---- Crashes here
{
// Do stuff
}
、後で "SelectedBlock"を使用してください。 。私はこのコードを使用する場合SelectedBlock「。プログラムは、データを解放されるようにEXC_BAD_ACCESSは私が感じる 『私がそれをする前に、私はいつも何が私が間違っているの』取得
UPDATE:?
ありがとう
Xcodeは単なるIDEです。この質問には関係ありません。 – vikingosegundo
無条件に前進している( '++ i'または' i ++')は、あなたが何かを削除するとオブジェクトをスキップすることになります。オブジェクトを削除しない場合にのみ進むことができます。 –