В настоящее время я пытаюсь внедрить систему пула, у меня есть весь код, я просто не понимаю, почему какая-то его часть не работает.
У меня есть c-массив массива NSMutableсделано следующим образом:
NSMutableArray *poolArray[xSize][ySize];
for (int n = 0; n < xSize; n++)
{
for (int m = 0; m < ySize; m++)
{
poolArray[n][m] = [[NSMutableArray alloc] init];
}
}
И, пытаясь получить к нему доступ, я получаю координаты x и y пула, и объект находится внутри, и пытаюсь добавить его следующим образом:
[poolArray[x][y] addObject:object]; //This raises a EXC_BAD_ACCESS error
Я полностью открыт для редактирования того, как я пишу это - я знаю, что могу объявить NSMutableArray и использовать индексы ((y * width) + x), и мне, возможно, придется переписать код таким образом.Но, предпочтительно, я не хочу этого делать, так как хочу создать только те массивы, которые я использую, примерно так:
if (poolArray[x][y] == nil) poolArray[x][y] = [[NSMutableArray alloc] init];
[poolArray[x][y] addObject:object];
Это так, чтобы в нем могли быть «дыры», поэтому я неЯ должен сделать что-нибудь в poolArray [2] [3], например, если там ничего нет.
Я не знаю, есть ли что-нибудь, что я мог бы переписать это с типами target-c, но если я это сделаюЯ вынужден продолжать создавать NSMutableArray в каждом месте, причина, по которой я не хочу этого делать, заключается в том, что я хочу добиться максимальной отдачи от работы системы.
Спасибо, что нашли времячитать это, и любой ответ приветствуется:)