Мое приложение почти завершено, но у меня возникла проблема. Я не могу удалить объекты из созданного мной массива.
Это пример моего кода:
-(void) TheGame{
squares = [[NSMutableArray arrayWithObjects: @"a", @"b", @"c", @"d", @"e", @"f", @"g", @"h" ,@"i" ,@"j", @"k", @"l", @"m", @"n", @"o", @"p", @"q", @"r", @"s", @"t", @"aa", @"bb", @"cc",@"dd", @"ee", @"ff", @"gg", @"hh", @"ii", @"jj", @"kk", @"ll", @"mm", @"nn", @"oo", @"pp", @"qq",@"rr", @"ss", @"tt", nil] retain];
s=40;
turn=1;
while(s >= 1)
if (turn == 1){
//Check for players move
//Here I added some if statement, and for every one I added
//[squares removeObject: @"b"]; X can be any object of the array.
turn = 0;
s = s - 1;
}
if (turn == 0){
//Here the computer should find an object from the array randomly. I used
//randomN = [squares objectAtIndex:arc4random() % [squares count]];
//to choose the random object.
//After choosing, the item should be removed from the array, also using
//[squares removeObject: @"X"]; X can be any object of the array.
turn = 1;
s = s - 1;
}
}
Проблема, например, в том, что если игрок выбирает объект «b» из массива, то должен срабатывать
[squares removeObject: @"b"];
.
когда дело доходит до компьютера случайным движением, возникаетвероятность того, что он выберет тот же объект, который уже был удален из массива, в моем примере это @ "b".
Это означает, что элементы не удаляются из массива, когда
[squares removeObject: @"X"];
срабатывает.
У кого-нибудь есть решения этой проблемы?
Пожалуйста, мне нужна ваша помощь.
======= Решено ========
Я пытался использовать ваши ответы, но не смог решить проблему ..
Решение было настолько простым: p .. Просто переместил массив в "viewDidLoad ".
Спасибо, ребята, за вашу помощь, извините, но я не могу принять ответы как неработающие для меня.Я ценю ваши усилия.