每天更改两组数据类型然后重置它们

时间:2012-05-10 00:25:06

标签: objective-c xcode4.2

我需要每天为iOS应用更改两组图像数据和两组文本数据。第一个图像集是x1-13.png,第二个是y1-20.png。总之,在重复循环之前有260种组合(13x20天)。有2x260组文本数据(textA,textB)一起运行。他们必须对应特定的格里高利日期,并在他们的组合中循环。应用程序将打开,查看它的日期并加载相应的数据。它还需要跳过跳跃的一年(2/29)..

[在图像260个组合中,还有其他图像组合(下面的示例),但我已经为这些组合制定了各种公式/编码 - 它们依赖于从第一天开始的两个集合(x1.png,y1.png)并将致力于实施。]

目前我可以手动更改两组整数作为计数器以显示不同的图像。例如:

int x = 2;
int y = 2;

-(void)getImage{

if (y) {
UIImage *theYimg = [UIImage  imageNamed:[NSString stringWithFormat:@"SetY%i.png", y]];
    [MainImageView setImage:theYimg];

int additionalImagery;
if ((x == 2 ||x == 7||x==12) && y <9) {
        additionalImagery = y + 12;
        UIImage *addimg = [UIImage  imageNamed:[NSString stringWithFormat:@"SetY%i.png", additionalImagery]];
        [secondImageView setImage:addimg];
        UIImage *thirdimg = [UIImage  imageNamed:[NSString stringWithFormat:@"SetX%i.png", x]];
        [thirdImageView setImage:thirdimg];
}

是否有一个可以计算(++)每日的循环,直到它们到达图像集的末尾,然后再次从第一张图像重置? - 相当于:

int x = 1; x <=13; x++; //then reset to x=1 again after 13days

int y = 1; y <=20; y++; //then reset to y=1 again after 20days

周期将在同一天开始,但显然他们需要在不同日期重置。

同样重要

如何在每日时间表中实施它们?

1 个答案:

答案 0 :(得分:0)

我已经实现了一个似乎有效的计数器/重置方法。但是我只使用了NSTimer间隔来检查:

-(void)countUpAndReset{

x++;
if (x <= 13) {
    [self getImage];
}
else if (x > 13){
    x = 1;
    [self getImage];
}

y++;
if (y <=20) {
    [self getImage];
}
else if (y >20){
    y = 1;
    [self getImage];
}
}

并在ViewDidLoad中:

- (void)viewDidLoad
{

[super viewDidLoad];

x = 1;
y = 1;

[self getImage];
theTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(countUpAndReset) userInfo:nil repeats:YES];

现在我必须将它映射到日期开始的格里历日历上,例如。每天12/25/2010到(++)(减去闰年第2/29天)..?