獲得未讀微博數據的開發思路

1. 開啟timer60秒請求一次微博數據。

2. 將timer添加到runloop上,不論主線程是否正在其他事件,都要抽時間處理一下timer。

3. 微博未讀數:如果有未讀的微博條數,要設置提醒數字,如果未讀數為0,得清空提醒數字。

開發代碼:

- (void)viewDidLoad

{

// 獲得未讀數

NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(setupUnreadCount) userInfo:nil repeats:YES];

// 主線程也會抽時間處理一下timer(不管主線程是否正在其他事件)

[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

}

/**

*? 獲得未讀數

*/

- (void)setupUnreadCount

{

//? ? HWLog(@"setupUnreadCount");

//? ? return;

// 1.請求管理者

AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

// 2.拼接請求參數

HWAccount *account = [HWAccountTool account];

NSMutableDictionary *params = [NSMutableDictionary dictionary];

params[@"access_token"] = account.access_token;

params[@"uid"] = account.uid;

// 3.發送請求

[mgr GET:@"https://rm.api.weibo.com/2/remind/unread_count.json" parameters:params success:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) {

// 微博的未讀數

//? ? ? ? int status = [responseObject[@"status"] intValue];

// 設置提醒數字

//? ? ? ? self.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d", status];

// @20 --> @"20"

// NSNumber --> NSString

// 設置提醒數字(微博的未讀數)

NSString *status = [responseObject[@"status"] description];

if ([status isEqualToString:@"0"]) { // 如果是0,得清空數字

self.tabBarItem.badgeValue = nil;

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

} else { // 非0情況

self.tabBarItem.badgeValue = status;

[UIApplication sharedApplication].applicationIconBadgeNumber = status.intValue;

}

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

HWLog(@"請求失敗-%@", error);

}];

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 點擊查看原文 Web SDK 開發手冊 SDK 概述 網易云信 SDK 為 Web 應用提供一個完善的 IM 系統...
    layjoy閱讀 13,933評論 0 15
  • 1.自定義控件 a.繼承某個控件 b.重寫initWithFrame方法可以設置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,469評論 2 4
  • 網絡解析:AFNnetworking詳解 一、什么事AFN□在iOS開發中,使用比較廣泛□全稱是AFNetwork...
    Bo_cake閱讀 894評論 0 1
  • 1.badgeVaule氣泡提示 2.git終端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夾內容...
    i得深刻方得S閱讀 4,752評論 1 9
  • 訪問網絡的基本流程:5點 HTTP協議 2.通信過程 --------------請求的方法-----get 和 ...
    光明程輝閱讀 1,020評論 0 2