2012-05-10 88 views
0

我需要每天更改iOS應用程序的兩組圖像數據和兩組文本數據。第一個圖像集是x1-13.png,第二個是y1-20.png。總共有260種組合(13x20天),然後再重複這個循環。有2×260組的文本數據(textA,textB)並排運行。他們必須對特定的公曆日期進行覈對,並在他們的組合中循環。該應用程序將打開,看看它是什麼日期,並加載相應的數據。它還需要跳過閏年DAY(2/29)..每天更改兩組數據類型然後重置它們

[圖像260combinations內,有額外的圖像的組合(例如下文),但我已經制定了各種化學式/編碼這些 - 他們依靠從第一天開始的兩套(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

我相信你最好保存日期,然後比較應用程序加載時的日期。如果它已經超過13天,就做你需要做的事情。但是,每天有一次你在後臺計算應用程序會浪費資源,如果應用程序被強制關閉或被監管人員殺死,甚至可能無法工作。 –

+0

我試圖儘可能直接,但我可以詳細說明一個更好的主意 - 編輯 – RoshDamunki

回答

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)..?

相關問題