В файле Info.plist вашего виджета не забудьте установить для вашего ключа AllowNetworkAccess
значение true.
Ваша главная проблема, как я вижу, состоит в том, что у вас есть два статических массива, yy
и mm
. Прежде всего, не имеет смысла иметь глобальную переменную в течение нескольких месяцев, когда вы уже годами располагаете этой информацией в глобальной переменной, просто для хранения большего количества данных и кода.
Во-вторых, здесь я обнаружил ошибку в вашем коде
y.setMonth(mm);
´ Здесь вы назначаете статический массив экземпляру года, что означает, что все объекты Year
будут использовать один и тот же объект массива Month
.
Я бы начал с уничтожения массива mm
и вместо этого позволил бы Year иметь внутренний массив (12) объектов Month. Поэтому, возможно, измените setMonth
на addMonth
Еще одна незначительная вещь, чтобы избежать ошибок, когда вы делаете
y.setYear(1968+i);
, а затем позже, когда вы хотите установить то же значение снова, вы не должны ' t сделать dd[c].setYy(1968+i)
, но вместо этого dd[c].setYy(y.getYear())
и аналогично для других значений.