Objective c 每天更改两组数据类型,然后重置它们
我需要每天为iOS应用程序更改两组图像数据和两组文本数据。第一个图像集是x1-13.png,第二个是y1-20.png。总共有260个组合,在重复该循环之前13x20天。有2x260组文本数据textA,textB沿侧面运行。它们必须与特定的公历日期相关,并循环组合。应用程序将打开,查看它的日期并加载相应的数据。它还需要跳过闰年2月29日 [在图像260组合中,下面还有其他图像组合示例,但我已经计算出了这些组合的各种公式/编码-它们依赖于从第一天开始的两个集合x1.png、y1.png,并将用于实现。] 目前,我所能做的就是手动更改两组int作为计数器,以显示不同的图像。例如:Objective c 每天更改两组数据类型,然后重置它们,objective-c,xcode4.2,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
周期将在同一天开始,但显然它们需要在不同的日子重置
同样重要的是
如何在每日计划中实现它们?我已经实现了一种计数器/重置方法,它似乎正在工作。但是,我仅使用了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];
}
}
现在我必须把它映射到一个公历上,从2010年12月25日开始,到每天++减去闰年2月29日。你需要在你的问题中提供更多的上下文。你在写什么样的程序?一个简单的桌面应用程序?还是司机?还是守护进程、服务器或其他长时间运行的进程?怎么开始的?什么时候停止?我相信你最好保存一个日期,然后在应用加载时比较那个日期。如果已经13天以上了,做你需要做的事情。但是,让你每天在后台计算一次应用程序数量既浪费资源,而且如果应用程序被强制关闭或被监管机构杀死,甚至可能不起作用。我试图尽可能直接,但我可以详细说明,以给出一个更好的主意-今天早上编辑更好的编辑
- (void)viewDidLoad
{
[super viewDidLoad];
x = 1;
y = 1;
[self getImage];
theTimer = [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(countUpAndReset) userInfo:nil repeats:YES];