0

iOSアプリでは、毎日2セットの画像データと2セットのテキストデータを変更する必要があります。最初の画像セットはx1-13.png、2番目の画像セットはy1-20.pngです。サイクルを繰り返す前に、全部で260の組み合わせ(13x20日)があります。並行して実行される2x260セットのテキストデータ(textA、textB)があります。それらは特定のグレゴリオ暦の日付に対応し、それらの組み合わせを循環する必要があります。アプリが開き、日付を確認して、対応するデータを読み込みます。また、うるう年の日(2/29)をスキップする必要があります。

[画像260の組み合わせの中には、追加の画像の組み合わせがあります(以下の例)が、これらのさまざまな式/コーディングを作成しました-それらは初日(x1.png、y1.png)から両方のセットに依存し、機能します実装について。]

現時点では、2セットの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

サイクルは同じ日に始まりますが、明らかに別の日にリセットする必要があります。

そして同様に重要なのは

毎日のスケジュールでそれらを実装するにはどうすればよいですか?

4

1 に答える 1

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

今度は、日付から始まるグレゴリオ暦にマップする必要があります。2010 年 12 月 25 日から (++) 毎日 (うるう年 2 月 29 日を除く)..?

于 2012-05-10T16:57:19.460 に答える