Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 每天更改两组数据类型,然后重置它们_Objective C_Xcode4.2 - Fatal编程技术网

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

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,并将用于

我需要每天为iOS应用程序更改两组图像数据和两组文本数据。第一个图像集是x1-13.png,第二个是y1-20.png。总共有260个组合,在重复该循环之前13x20天。有2x260组文本数据textA,textB沿侧面运行。它们必须与特定的公历日期相关,并循环组合。应用程序将打开,查看它的日期并加载相应的数据。它还需要跳过闰年2月29日

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

目前,我所能做的就是手动更改两组int作为计数器,以显示不同的图像。例如:

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];