我需要每天为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
周期将在同一天开始,但显然他们需要在不同日期重置。
和同样重要
如何在每日时间表中实施它们?
答案 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天)..?