1. NSNumber對象賦值NSString會報錯。[__NSCFNumber isEqualToString:]; unrecognized selector sent to instance 0x9f59530
2. NSNumber轉成NSString可以調用description方法,[responseObject[@"status"] description];
3. 如果刷新成功之后,在刷新成功之后就清空提醒消息數字。
4. 默認加到runloop,的模式修改一下,CommonModel就可以湊出時間做其他的事件。
5. 進入后臺定時器就暫停工作了。要想讓程序進入后臺的時候也想做一些事情的時候,app delegate里-(void)applicationDidEnterBackground:(UIApplication *)application; //當app進入后臺時調用,可以讓程序進入后臺運行狀態,定時器,多媒體操作。
6. 后臺暫停狀態:停止一切動畫、定時器、多媒體、聯網操作、很難再做其他的操作了。
7. 后臺運行狀態:進入后臺的調用方法,[application beginBackgroundTaskWithExpirationHandler:^{ // ? ?}];// 向操作系統申請后臺運行的資格,能維持多久,是不確定的。
開發代碼:
/**
*? 當app進入后臺時調用
*/
- (void)applicationDidEnterBackground:(UIApplication *)application
{
/**
*? app的狀態
*? 1.死亡狀態:沒有打開app
*? 2.前臺運行狀態
*? 3.后臺暫停狀態:停止一切動畫、定時器、多媒體、聯網操作,很難再作其他操作
*? 4.后臺運行狀態
*/
// 向操作系統申請后臺運行的資格,能維持多久,是不確定的
UIBackgroundTaskIdentifier task = [application beginBackgroundTaskWithExpirationHandler:^{
// 當申請的后臺運行時間已經結束(過期),就會調用這個block
// 趕緊結束任務
[application endBackgroundTask:task];
}];
// 在Info.plst中設置后臺模式:Required background modes == App plays audio or streams audio/video using AirPlay
// 搞一個0kb的MP3文件,沒有聲音
// 循環播放
// 以前的后臺模式只有3種
// 保持網絡連接
// 多媒體應用
// VOIP:網絡電話
}