Возможно, это выходит за рамки того, что может сделать Objective C.Обработка связанных NSMutable массивов в серии операций
Он включает в себя выполнение чего-либо с именованной переменной (например, 15 различных операций), а затем выполнение этих 15 операций с аналогичной именованной переменной и т. Д., Скажем, 10 переменных.
Предположим, у меня есть набор из 10 NSMutableArray;
NSMutableArray *a =[[NSMutableArray alloc]init];
...
NSMutableArray *j =[[NSMutableArray alloc]init];
и я 15 работы на них, чтобы получить 15 различных переменных (также массивы или более точно NSMutableArray-х). Скажем, первое, что я делаю это, чтобы сделать расчётах является продуктом через 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*/...;
Скажем, пятнадцатый, что я делаю это, чтобы сделать расчет на это выборе через 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 наборов кода «switch/case» и вместо этого «динамически» (если такая вещь существует в Xcode и iOS) и избегать создания 10-кратных 15 переменных?
Или что я создаю и объявляю 150 переменных, но делаю это в некотором массиве, возможно, используя адресацию (& a thru & j) переменной?
Это очень сложно, очень быстро, и есть моменты, когда некоторые из 10 массивов имеют много элементов, а другие из тех же массивов являются нулевыми (например, может содержать 20 элементов, а j имеет нулевые элементы)
PS: (Постскриптум в 6:56 вечера по Нью-Йоркскому времени 19Mar2012) Я действительно надеялся, что могу использовать какое-то имя переменной, а затем префикс или суффикс с буквами через j; например:
ProductA = [[....; SelectorA = ....;
и есть подпрограмма просто взять письмо от А до J с помощью перечисления, чтобы перевести, что 0 до 9.
Я не отвергающего решение, предложенное ранее Питером Cetinski; Я просто не пытался его реализовать.
Я не думаю, что это ответ.
Во-первых, я должен объявить 10 раз 15 массивов, не так ли?
Во-вторых, во внутренней части 2-дюймовых циклов я вижу, что у вас есть aProduct и aSelection, где это не работает для b, c, ..., j.
Другими словами, я хочу только «Продукт», и когда он работает с «a» или «j», он будет префикс слова «Продукт» и «Выбор» с «a» через «j»
Если, конечно, , у вас есть опечатка, помещая aProduct вместо Product и т. д. –
Нет, вам нужен только один массив, содержащий 10 массивов. Да, я просто использовал ваш псевдокод для aProduct. Продукт будет установлен для каждого вашего набора букв. –