亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

IOS開發-項目實戰-點贊功能的實現

2019-11-14 18:18:37
字體:
來源:轉載
供稿:網友

實現思路:

1.每一條新聞就是一個cell,在cell上添加點贊按鈕。

2.讓cell的控制器成為自定義cell的代理,將點擊了哪一個cell放在代理方法中傳出去。

3.并將這條新聞的ID當前用戶的ID上傳服務器。

4.此時要考慮每個用戶只能點擊一次,且當用戶再次點擊的時候,取消點贊(定義一個BOOL變量存儲用戶的點擊次數)。則將上傳的數據取出來,做判斷,如果取出來有數據,說明用戶點擊過,沒有數據那就存儲到網絡。再次點擊,將請求下來的數據,即BOOL變量存儲為NO,即取消點贊。

5.到這里就要考慮取出所有用戶點擊此條新聞的數據怎樣賦值給cell?也就是和取其他數據一起取出,這樣保證每條新聞對應數據量一直,然后一起賦值給cell,這樣就完成了這項功能。

部分重點代碼實現:(bmob)

在cell的代理方法中:

-(void)TableViewForCell:(News_TableViewCell *)cell andbutton:(UIButton *)button{     //    獲得點擊了那一行    NSIndexPath *indexPath = [Mytabview indexPathForCell:cell];    NSString *className = @"dian_zan";        Newmodel *news = _allmodelNews[indexPath.row];    BmobObject *data = [[BmobObject alloc] initWithClassName:className];//    獲得當前用戶    BmobUser *user = [BmobUser getCurrentUser];        BmobQuery *query = [BmobQuery queryWithClassName:className];//    兩個判斷條件,用戶的ID和此條新聞的ID作判斷    [query whereKey:@"newsID" equalTo:news.ID];    [query whereKey:@"userID" equalTo:user.objectId];    [query findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error)  {        NSLog(@"error == %@",error);//        用戶點擊過        if (array.count!=0) {//            取到已經點贊的那一行            BmobObject *zanObj = array[0];//            用戶取消點贊或者點贊            BOOL zann = [[zanObj objectForKey:@"dianzan"] boolValue]==NO?YES:NO;                        BmobObject *data = [BmobObject objectWithoutDatatWithClassName:className objectId:zanObj.objectId];//            最終結果上傳云端            [data setObject:@(zann) forKey:@"dianzan"];            [data updateInBackgroundWithResultBlock:^(BOOL isSuccessful, NSError *error) {                if (!error) {                           }            }];                    }else{//        用戶沒有點擊過的話,就保存用戶點贊            [data setObject:user.objectId forKey:@"userID"];            [data setObject:news.ID forKey:@"newsID"];            [data setObject:@(YES) forKey:@"dianzan"];//            [data setObject:@(indexPath.row) forKey:@"row"];            [data saveInBackgroundWithResultBlock:^(BOOL isSuccessful, NSError *error) {                NSLog(@"tijiao == %@",error);                if (!error) {                         }            }];        }              }];    }

處理網絡數據,將網絡數據賦值給對應的cell.

 1 #PRagma mark----------------網絡數據下載----------------------- 2 -(NSArray *)allmodelNew{ 3 //    每次調用該方法初始化點贊數組,保證每條新聞的數據互不影響。 4     zan = [NSMutableArray array];//由于數據下載是異步下載,所以點贊和其他數據各用一個可變數據存放數據 5     NSString *className = @"CampusNews"; 6     NSMutableArray *all = [NSMutableArray array]; 7     BmobQuery *quer = [BmobQuery queryWithClassName:className]; 8     [quer orderByDescending:@"updatedAt"]; 9     quer.limit = 3;10     [quer findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {11         12         for (BmobObject *data in array) {13 //            用一個Newmodel模型來裝載數據14             Newmodel *info    = [[Newmodel alloc] init];15             if ([data objectForKey:@"name"]) {16                 info.name    = [data objectForKey:@"name"];17             }18             if ([data objectForKey:@"text"]) {19                 info.text  = [data objectForKey:@"text"];20             }21             info.time   = [dateformatter stringFromDate:data.updatedAt];22             info.ID = data.objectId;23  #pragma mark---------------點贊計算--------------------------24 //            查找點贊個數25             BmobQuery *query = [BmobQuery queryWithClassName:@"dian_zan"];26 //            查找該賬號的所有點贊數據(并且全部是YES的數據)27             [query whereKey:@"newsID" equalTo:data.objectId];28             [query whereKey:@"dianzan" equalTo:@(YES)];29             [query findObjectsInBackgroundWithBlock:^(NSArray *array, NSError *error) {30 //                可變數組zan31                 [zan addObject:@(array.count)];32         33             }];34             35             [all addObject:info];36         }37         _allmodelNews = all;38         if (_allmodelNews.count == _allmodelNews.count) {39             [Mytabview.footer endRefreshing];40         }41 42         [self performSelectorOnMainThread:@selector(upDateUI) withObject:nil waitUntilDone:YES];43            }];44        return _allmodelNews;45 }

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲综合国产精品99麻豆精品福利| 成人激情免费在线| 欧美日韩视频免费播放| www.国产精品一二区| 国产精品7m视频| 欧美日韩一二三四五区| 久久亚洲精品中文字幕冲田杏梨| 日韩av片电影专区| 亚洲国产欧美一区二区三区同亚洲| 黑人巨大精品欧美一区二区| 91免费精品视频| 日韩av手机在线观看| 精品性高朝久久久久久久| 日韩一区视频在线| 日韩美女免费观看| 91精品视频观看| 日韩欧美高清视频| 亚洲精品美女网站| 国产在线久久久| 亚洲自拍av在线| 国产精品久久久久久久久粉嫩av| 福利一区福利二区微拍刺激| 久久91超碰青草是什么| 91人成网站www| 欧美午夜宅男影院在线观看| 国产97色在线|日韩| 中文字幕在线视频日韩| 国产精品美女久久| 亚洲成人三级在线| 亚洲国产日韩欧美在线99| 日韩中文字幕在线免费观看| 亚洲欧美一区二区三区在线| 亚洲伊人久久大香线蕉av| 国产精品爽爽爽爽爽爽在线观看| 欧美激情第1页| 大胆人体色综合| 在线观看日韩视频| 日韩av电影中文字幕| 久久亚洲精品毛片| 亚洲黄色av网站| 91av在线视频观看| 日韩欧美在线中文字幕| 91黑丝在线观看| 日韩在线观看高清| 人妖精品videosex性欧美| 久久天天躁夜夜躁狠狠躁2022| 欧美贵妇videos办公室| 亚洲国产精品va在线看黑人| 国外视频精品毛片| 亚洲一区第一页| www.精品av.com| 日韩欧美国产一区二区| 91精品久久久久久久久久入口| 神马久久久久久| 国产精品久久77777| 亚洲人成在线观看| 一本大道亚洲视频| 91性高湖久久久久久久久_久久99| 日产日韩在线亚洲欧美| 国产精品嫩草视频| 国产91在线播放| 亚洲成成品网站| 超碰97人人做人人爱少妇| 91青草视频久久| 91人成网站www| 亚洲一区二区久久久久久| 亚洲精品一区中文字幕乱码| 欧美贵妇videos办公室| 亚洲电影免费观看高清完整版在线观看| 性欧美视频videos6一9| 在线观看久久久久久| 91免费综合在线| 中文字幕日韩免费视频| 国产精品视频yy9099| 亚洲精品久久久久中文字幕欢迎你| 国产精品久久久久久久久久久新郎| 日韩av片免费在线观看| 久久久久久18| 97超碰蝌蚪网人人做人人爽| 久久精品男人天堂| 亚州国产精品久久久| 久久久免费精品视频| 91精品国产91久久久| 欧美一区二区三区艳史| 亚洲精品一区二区三区不| 久青草国产97香蕉在线视频| 亚洲美女动态图120秒| 亚洲娇小xxxx欧美娇小| 久久影院模特热| 国产精品美女午夜av| 日韩中文字幕在线免费观看| 日韩av中文字幕在线免费观看| 亚洲精品一区中文字幕乱码| 亚洲精品小视频在线观看| 欧美亚洲国产精品| 久久亚洲影音av资源网| 欧美精品在线观看91| 国产视频综合在线| 亚洲精品白浆高清久久久久久| 欧美国产视频一区二区| 亚洲天堂免费在线| 欧美性猛交99久久久久99按摩| 青青a在线精品免费观看| 高清欧美电影在线| 中文在线不卡视频| 欧美大学生性色视频| 精品偷拍一区二区三区在线看| 亚洲日韩中文字幕在线播放| 日韩欧美亚洲一二三区| 色一区av在线| 久久亚洲精品网站| 国产精品高潮视频| 国内免费精品永久在线视频| 韩国欧美亚洲国产| 亚洲自拍欧美色图| 亚洲片国产一区一级在线观看| 国语自产在线不卡| 欧美在线日韩在线| 成人在线播放av| 欧美壮男野外gaytube| 91色精品视频在线| 日韩av手机在线看| 中文字幕日韩视频| 欧美在线视频免费| 中文字幕日韩精品在线观看| 91爱视频在线| 成人在线一区二区| 国产欧美一区二区| 在线观看国产欧美| 成人福利网站在线观看11| 美日韩精品免费观看视频| 国产精品成人品| 中文字幕日韩欧美精品在线观看| 视频在线观看一区二区| 亚洲夜晚福利在线观看| 欧美夫妻性视频| 中文字幕av一区| 国产成人激情小视频| 亚洲一区二区久久久| 日韩一区二区在线视频| 国产亚洲精品美女| www.日本久久久久com.| 亚洲欧美日韩一区在线| 国产精品视频一| 国产精品影院在线观看| 久久久久久欧美| 国产色婷婷国产综合在线理论片a| 九九热精品视频在线播放| 国产精品aaa| 欧美激情视频一区二区| 日韩精品视频三区| 国产日产欧美精品| 久久久久久久91| 91沈先生作品| 欧美色道久久88综合亚洲精品| 欧洲美女免费图片一区| 国产亚洲精品91在线| 国产精品成人观看视频国产奇米| 久久久精品视频在线观看| 国产精品专区第二| 国内精品久久久久久久久| 亚洲欧美综合另类中字| 日韩av色在线| 狠狠躁夜夜躁久久躁别揉|