我的任務是編寫一個應用程序,允許用戶安排將來發送的電子郵件。如何以編程方式在ios中安排事件?
用戶從日期選擇器中選擇日期時間,組成消息和收件人,然後安排事件。當日期/時間發生時,消息被髮送出去。
有人可以指導我如何獲得有關日程安排讓我們說一個短信。我知道如何發送短信。只是不確定事情的調度方面。
任何指針將不勝感激。
我的任務是編寫一個應用程序,允許用戶安排將來發送的電子郵件。如何以編程方式在ios中安排事件?
用戶從日期選擇器中選擇日期時間,組成消息和收件人,然後安排事件。當日期/時間發生時,消息被髮送出去。
有人可以指導我如何獲得有關日程安排讓我們說一個短信。我知道如何發送短信。只是不確定事情的調度方面。
任何指針將不勝感激。
下面是代碼片段,它設置一個使用計時器來調用自己的imageSavedLabelOff:
選擇器,並將其本身(計時器)作爲方法的對象參數。計時器在2.5秒內安排呼叫。
NSTimer *quickie = [NSTimer scheduledTimerWithTimeInterval:2.5 target:self selector:@selector(imageSavedLabelOff:) userInfo:nil repeats:NO];
你應該能夠做到這一點使用NSRunLoop。查看Threading Programming Guide。
除了使用的NSTimer,你應該知道,電子郵件發送失敗有幾個原因(沒有網絡可用等)。然後,您需要重新安排請求,可能會在3次重試後放棄並通知用戶這一點。
的第一個反應會在技術上,可以建立一個計時器,將每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的後臺時,無法安排這種事件發生,因此您必須考慮到這一點。
您可能已經通過,但現在對於我這樣的未來visiters我想提出一個答案 - 即EventKit找到了答案:
可以調度/取事件的任何時間並相應地做你的事情。希望這有助於某人。
您可以使用 -
[self performSelector:@selector(myFunc:) withObject:nil afterDelay:5.0];
結帳:http://stackoverflow.com/questions/6229759/how-update-a-label-periodically-on-ios-every-second –