вы хотите разобрать способ перестановки 5 контроллеров представления?
может быть, это помогает использовать свойство простых чисел.
это зависит от количества перестановок, которые вы хотите.
но так как контроллеров представления всего 5, их не может быть больше 5! = 120 перестановок
что хорошо в 5, так это то, что это простое число
поэтому, если вы вычислите (n * a)% 5, где a - это постоянное число от 0 до 4, а n - это переменная от 1 до 5, вы получите таблицу, подобную этой:
a==0, 0,0,0,0,0
a==1, 1,2,3,4,0
a==2, 2,4,1,3,0
a==3, 3,1,4,2,0
a==4, 4,3,2,1,0
как вы видели, это 5 совершенно разных перестановок, в которых каждое число появляется ровно один раз.
Итак, если вы хотите иметь 120 перестановок
просто примените константное число b (от 0 до 4) и вычислите (n * a + b)% 5
тогда вы получите 5 раз предыдущий результат, который равен 125, но есть несколько повторений, тогда конечный результат будет 120 перестановок.
Итак, единственное, что вам нужно сделать, это определить a и b с вашим предварительным условием
и применить следующий код:
int result = (n*a + b)%5;
static UIView *addedView = nil;
if(addedView != nil)
[addedView removeFromSuperview];
switch(result)
{
case 0:
[self.scrollView addSubview:VCA.view];
addedView = VCA.view;
break;
case 1:
[self.scrollView addSubview:VCB.view];
addedView = VCB.view;
break;
//and so on...
}
hope it helps