Это может выходить за рамки того, что может делать Objective C.
Это включает в себя выполнение чего-либо с именованной переменной (например, 15 различных операций), а затем выполнение этих 15 операций над переменной с аналогичным именем,и так далее, скажем, 10 переменных.
Предположим, у меня есть набор из 10 NSMutableArray, например,
NSMutableArray *a =[[NSMutableArray alloc]init];
...
NSMutableArray *j =[[NSMutableArray alloc]init];
, и я делаю 15 операций над ними, чтобы получить 15 различных переменных (также массивы илиточнее NSMutableArray's).Скажем, первое, что я делаю, это чтобы вычисление было произведено через j:
for (int i=0;i<[a count]; i++)
aProduct = /* some operation upon NSMutableArray a*/...;
...
for (int i=0;i<[j count]; i++)
jProduct = /* some operation upon NSMutableArray j*/...;
Скажем, 15-е, что я делаю, это чтобы сделать вычисление, это выбор через j:
for (int i=0;i<[a count]; i++)
aSelection = /* some operation upon NSMutableArray a*/...;
...
for (int i=0;i<[j count]; i++)
jSelection = /* some operation upon NSMutableArray j*/...;
Прямо сейчас я использую переключатель / регистр для кодирования, который включает в себя много размышлений, инициализации и даже поймал, что я сделал опечатку в одном выражении «случай» (пропускаяперерыв), и когда я скопировал код, эта ошибка распространилась вниз.
Так есть ли способ избежать 15 наборов кода «переключатель / регистр» и делать это вместо этого «динамически» (если такая вещьсуществует в Xcode и iOS) и избегает создания 10 раз по 15 переменных?
Или что я создаю и объявляю 150 переменных, но делаю это в некотором массиве, возможно, используя адресацию (& thru & j) переменной?
Это становится очень сложным, очень быстрым, и бывают случаи, когда некоторые из 10 массивов имеют много элементов, а другие из тех же массивов равны нулю (например, a может иметь 20 элементов, а j имеетnull elements)
PS: (Постскриптум в 6:56 вечера по Нью-Йоркскому времени 19 марта 2012 года) Я действительно надеялся, что смогу использовать какое-нибудь имя переменной, а затем префикс или суффикс с буквами от a до j;например:
ProductA = [[....;SelectorA = ....;
и подпрограмма просто берет письмо от A к J через enum, чтобы перевести это значение от 0 до 9.
Я не отвергаю предложенное ранее решениеПитер Цетински;Я просто еще не пытался это реализовать.