#objective-c #xcode #ios #nsarray
#objective-c #xcode #iOS #nsarray
Вопрос:
В моем проекте я должен хранить значение за определенный период; Пример: у меня есть три кнопки, где я могу выбрать значение: у меня есть кнопка для «10», другая для «100» и еще одна для «1000». Когда я нажимаю кнопку, я открываю представление, где я могу выбрать период для этих значений: затем, например, я нажимаю «100», и я выбираю период с 15/05/2011 по 20/05/2011 и нажимаю ok. Результатом является то, что в месяце «Май» в 15-й день имеет значение 100, в 16-й день имеет значение 100 ….. и в 20-й день имеет значение 100. Могу ли я организовать этот метод с массивом месяца, где в индексе есть другой массив дней, а внутри каждого дня есть значение 100? Но я не знаю, как это сделать…Можете ли вы мне помочь?
Ответ №1:
Из того, что я понял из вашего вопроса… по сути, вам нужен массив месяцев, и внутри каждого месяца у вас есть массив дней, и для каждого дня у вас есть массив значений? или просто значение?
В любом случае, то, что вы можете сделать, это просто вложенные массивы. Итак, у вас есть один NSArray, и все объекты внутри этого NSArray также являются NSArrays и так далее, и тому подобное, пока вы не получите желаемую структуру.
Если бы вы могли предоставить более четкое объяснение того, чего именно вы хотите достичь, тогда я мог бы уточнить свой ответ, но я думаю, что это могло бы направить вас на правильный путь?
NSMutableArray *months = [[NSMutableArray alloc] init];
for (int i = 0; i < 12; i ) {
NSMutableArray *days = [[NSMutableArray alloc] init];
for (int j = 0; j < 30; j ) {
NSMutableArray *values = [NSMutableArray alloc] init];
[days addObject:values];
[values release];
}
[months addObject:days];
[days release];
}
У меня нет моего Mac, поэтому простите меня за любые ошибки, но я думаю, вы хотите что-то вроде этого?
Итак, в массиве «месяцы» имеется 12 массивов «дни», и для каждого массива «дни» имеется 30 массивов «значения», куда вы можете добавить свои значения.
ПРИМЕЧАНИЕ: Вам нужно будет ввести свою логику для проверки фактического количества дней в каждом месяце, поскольку этот код будет просто предполагать, что в каждом месяце есть 30 дней.
Комментарии:
1. да, мне нужен массив месяцев, и в пределах каждого месяца у вас есть массив дней, и для каждого дня у вас есть массив значений, потому что в каждый день я могу хранить некоторые значения, а не только одно. Можете ли вы предложить мне пример, как я могу упорядочить свой код?
2. Я изменил свой ответ, чтобы показать некоторый пример кода, который предоставит вам массив, который должен достичь того, что вы хотите сделать, я полагаю
3. да, это верно, это на один год. Если вы хотите использовать его в течение нескольких лет, вам придется создать другой массив и добавить в него массив месяцев.