2012-05-10 12 views
0

iOSアプリケーション用に2セットのイメージデータと2セットのテキストデータを毎日変更する必要があります。最初の画像セットはx1-13.pngで、2番目の画像セットはy1-20.pngです。サイクルを繰り返す前に、260の組み合わせ(13x20日)があります。側面に沿って走る2x260のテキストデータ(textA、textB)があります。彼らは特定のグレゴリオ暦の日付に対応し、それらの組み合わせを通して循環しなければならない。アプリが開き、それがどの日付かを調べ、対応するデータを読み込みます。また、[画像260combinations内で、追加の画像の組み合わせ(以下の例)がある.. SKIP OVER Aうるう年日(2/29)に毎日2セットのデータ型を変更してからリセットする

を必要とするが、私はのための様々な式/コードを働いていますこれらは1日目(x1.png、y1.png)から始まる両方のセットに依存しており、実装には関係します。]

現時点では、手動でカウンタの2つのセットを変更して、 。例:

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

は、彼らが設定した画像の端に到達した後、再び第1の画像から、自分自身をリセットするまで(++)毎日をカウントアップすることができますループがありますか? -

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

私は、あなたが日付を保存してから、アプリが読み込まれた日を比較する方が良いと思っています。 13日以上経っていれば、何をする必要がありますか?しかし、1日に1回、バックグラウンドでアプリをカウントすると、リソースが無駄になり、アプリがウォッチドッグによって強制終了または強制終了されても機能しなくなることがあります。 –

+0

私は可能な限り直接的にしようとしていましたが、より良いアイデアを与えるために精緻化することができます - – RoshDamunki

答えて

0

私は動作していると思われるカウンタ/リセット方法を実装しました。今私は、日付などで始まるグレゴリオ暦にそれをマップする必要があり

- (void)viewDidLoad 
{ 

[super viewDidLoad]; 

x = 1; 
y = 1; 

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

-(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で:しかし、私はこれを確認するためにNSTimer間隔のみを使用していました。 2010年12月25日まで(++)毎日(うるう年の2/29日)..?

関連する問題