2011-10-10 48 views
4

我的任務是編寫一個應用程序,允許用戶安排將來發送的電子郵件。如何以編程方式在ios中安排事件?

用戶從日期選擇器中選擇日期時間,組成消息和收件人,然後安排事件。當日期/時間發生時,消息被髮送出去。

有人可以指導我如何獲得有關日程安排讓我們說一個短信。我知道如何發送短信。只是不確定事情的調度方面。

任何指針將不勝感激。

+0

結帳:http://stackoverflow.com/questions/6229759/how-update-a-label-periodically-on-ios-every-second –

回答

4

下面是代碼片段,它設置一個使用計時器來調用自己的imageSavedLabelOff:選擇器,並將其本身(計時器)作爲方法的對象參數。計時器在2.5秒內安排呼叫。

NSTimer *quickie = [NSTimer scheduledTimerWithTimeInterval:2.5 target:self selector:@selector(imageSavedLabelOff:) userInfo:nil repeats:NO];

0

除了使用的NSTimer,你應該知道,電子郵件發送失敗有幾個原因(沒有網絡可用等)。然後,您需要重新安排請求,可能會在3次重試後放棄並通知用戶這一點。

7

的第一個反應會在技術上,可以建立一個計時器,將每2.5秒火,但是原來的海報要求,將火在特定時間的解決方案。對於您需要使用的NSTimer的方法如下:

- (id)initWithFireDate:(NSDate *)date interval:(NSTimeInterval)seconds target:(id)target selector:(SEL)aSelector userInfo:(id)userInfo repeats:(BOOL)repeats 

第一個參數是一個NSDate指示時,計時器應該解僱。

樓主沒有明確說明,但如果這是一款iOS應用程序,然後明白,預定開火一個遙遠的日期定時器/時間不會,如果你的應用程序是不是前臺應用程序啓動它是非常重要的。事實上,當您的應用在iOS的後臺時,無法安排這種事件發生,因此您必須考慮到這一點。

+0

沒有辦法解僱如果應用程序在後臺,未來的事件?這是一個令人失望 – jini

+1

恐怕不行。如果你想在iOS設備並使用它,它的目的是這樣,你真的不能設計一些地方的具體和重要的行動,需要在規定的日期/時間發生。手機可能在此時關閉,或者可能不在附近或網絡不可用。我認爲蘋果會在應用程序可以在後臺做什麼。對於開發者來說,在iOS中嚴格控制事物並不總是很方便,但它們都是爲了用戶的利益。 – Carter

0

您可以使用 -

[self performSelector:@selector(myFunc:) withObject:nil afterDelay:5.0]; 
相關問題